Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Variablen übergeben die xte
#1
Hallo lieber Excel-Gemeinde,

 Ich habe ein Problem, das schon oft diskutiert wurde, leider komme ich aber nicht weiter.  
Das Problem dreht sich meiner Ansicht nach um die Deklaration der Variablen und die Übergabe in die jeweiligen Makros eines Projektes.

Zum Problem:
In Makro1 werden die Variablen zeile und spalte ermittelt.
In Makro2 werden aus den Variablen zeile und spalte die Variablen ort und koord ermittelt.
In Makro3 werden diese Variablen verarbeitet und in einer Userform dargestellt.
Im Makro4 werden die Variablen zeile und spalte erneut benötigt.
Wie bekomme ich die variablen zeile und spalte in alle Makros des Projektes?

Wer weiß Rat?
Danke
Antworten Top
#2
Hallo,

so:

Code:
Option Explicit

Dim intZeile As Integer
Dim intSpalte As Integer

Sub DeinMakro1()
' Inhalte
End Sub

Sub DeinMakro2()
'inhalte
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Danke Klaus-Dieter,

Ich werde Deine Lösung ausprobieren.

Wie müsste ich vorgehen, wenn die sich dieMakros in verschiedenen 
Modulen befinden?
Antworten Top
#4
Hallo, :19:

schau dir hier mal die Lebensdauer und Gültigkeit von Variablen an: :21:

Variable - Public...
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • tmessers
Antworten Top
#5
Hallöchen,

wenn Deine Makros alle in einem Modul stehen, passt das. Ein Projekt kann jedoch aus mehreren Modulen bestehen - dazu zählen auch Blätter, DieseArbeitsmappe usw., - und um die Variablen auch modulübergreifend oder eben im gesamten Projekt bereitzustellen solltest Du Public nehmen statt Dim.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo,

kurz bevor ich einst einmal Excel aufgegeben habe habe ich immer ein Modul Namens Variablen eingesetzt. Damit brauche ich diese nicht mehrfach zu Dimensionieren, kann immer auf diese zugreifen:


Zitat:
Public Schalter As Boolean
Public i As Integer
Public Zeile As Integer
Public AnzahlZ As Integer
Public Loletzte As Long
Public Neuer_Name As String
Public eingelesen() As String
Public Passwort As String
Public Passwort2 As String
Public Passwort3 As String
Public Benutzername As String
Public bprop(25, 2) As Variant
Public bprop2(25) As Variant
Public Zeichen As Variant
Public zufall As Variant

Hier ist es egal, ob ich von einem Tabellenblatt, oder von einem Modul zugreife.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
[-] Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:
  • tmessers
Antworten Top
#7
Integriere die 4 Makros in ein einziges Makro.
Die Trennung kreiert nur ein überflüssiges Problem.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Danke für Eure Antworten.

Für die kleinen Projekte nehme ich Dim, für andere das Variablen deklariende Modul.

Wenn ich die Public-Variante nehme, muss ich dann beim Call des Moduls, die Varablen mit angeben,
ich meine z.B. so

Call Modul (ziele, spalte) ?
Antworten Top
#9
(18.01.2020, 22:25)tmessers schrieb: Wenn ich die Public-Variante nehme, muss ich dann beim Call des Moduls, die Varablen mit angeben,
ich meine z.B. so

Call Modul (ziele, spalte) ?

Hallo, :19:

nein. Allerdings ist meiner Meinung nach "Public" die unsaubere, bequeme Variante. Das nutze ich im Forum, oder bei kleinen Projekten auch. In größeren Projekten allerdings nicht, denn du hast keine Kontrolle über die Variable. Da hat sich schnell ein Fehler eingeschlichen und ruck zuck hat die Variable einen Wert, den du nicht möchtest.
________
Servus
Case
Antworten Top
#10
Hallöchen,

So was eher nicht: Call Modul (ziele, spalte)

Eher Call MeinMakro (Zeile, Spalte)

oder Call MeinModul,MeinMakro (Zeile, Spalte)
(Falls es den gleichen Makronamen in mehreren Modulen gibt, ist aber auch nicht prickelnd ...)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste