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
Antwortento 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
Antwortento top
#3
Danke Klaus-Dieter,

Ich werde Deine Lösung ausprobieren.

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

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

Variable - Public...
________
Servus
Case
[-] Folgende(r) 1 Benutzer sagt Danke an Case für diesen Beitrag:
  • tmessers
Antwortento 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-2016)
Antwortento 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

Ich arbeite mit Excel 2003 - Excel 2007 - Excel 365

Homepage im Aufbau (alte Daten müssen wieder hergestellt werden): http://ms-excel.eu

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 Benutzer sagt Danke an marose67 für diesen Beitrag:
  • tmessers
Antwortento 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
Antwortento 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) ?
Antwortento 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
Antwortento 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-2016)
Antwortento top


Gehe zu:


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