Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gibt es Variable für alle Module?

Gibt es Variable für alle Module?
20.05.2018 09:10:44
Barbaraa
Hallo
kann man Variable für alle Makros in einem Worksheet zugänglich machen?
Beispiel:
In der ersten Zeile stehen irgendwo Zellen mit "Haus", "Baum" und "Garten" als Inhalt herum. Die Spaltennummer dieser Zelle wird in verschiedenen Makros in verschiedenen Modulen gebraucht. Die bestimme ich mit
Sp1 = Worksheets(1).Rows(1).Find("Haus").Column
Sp2 = Worksheets(1).Rows(1).Find("Baum").Column
Sp3 = Worksheets(1).Rows(1).Find("Garten").Column
(und weitere 10 solche Variable)
Jedes Makro, das diese Werte braucht, beginnt mit diesem Suchblock. Manche dieser Makros werden von anderen Makros mehrfach aufgerufen und sind über mehrere Module verteilt.
Nun überlege ich, das irgendwie zu vereinfachen, da ja das Ergebnis immer gleich ist.
Vielleicht so, indem man zu Beginn einer Sitzung diese Variablen bestimmt und bei jeder Änderung in dieser Rows(1) mit Worksheet_Change aktualisiert?
Habe herausgefunden, es geht wahrscheinlich mit einer Deklaration am Beginn eines Moduls:
Public Sp1 As Long
Der Aufruf erfolgt dann mit
Modulname.Sp1
Gibt es auch eine Möglichkeit ohne dem vorangestellten "Modulname." (wegen der leichteren Lesbarkeit) ?
Vielleicht eine Variable, die über die Modulgrenzen hinaus wirkt?
LG, Barbara

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gibt es Variable für alle Module?
20.05.2018 09:28:39
Sepp
Hallo Barbara,
Variablen die du in einem allgemeinen Modul als Public deklarierst, gelten in der gesamten Mappe.
Wenn der Variablen-Name eindeutig ist, brauchst du den Modulnamen nicht angeben.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Gibt es Variable für alle Module?
20.05.2018 09:32:33
Pascal
Hallo Barbara,
am besten legst du ein neues Modul für die öffentlichen Variablen an. Das ist übersichtlicher. Dann deklarierst du die Variablen wie du schon gesagt hast und schreibst eine Prozedur darunter. Diese kannst du dann z.B. im Change Event aufrufen.
Option Explicit
Public Sp1 As Long
Public Sp2 As Long
Sub GlobaleVariablenFüllen()
Sp1 = Worksheets(1).Rows(1).Find("Haus").Column
Sp2 = Worksheets(1).Rows(1).Find("Baum").Column
Sp3 = Worksheets(1).Rows(1).Find("Garten").Column
End Sub
Du kannst diese Variablen dann im ganzen Projekt verwenden und musst auch nicht den Modulnamen angeben. Also im Change Event könntest du einfach schreiben:
Call GlobaleVariablenFüllen
Gruß Pascal
Anzeige
AW: Gibt es Variable für alle Module?
20.05.2018 09:51:51
Barbaraa
Ach so, in einem in einem allgemeinen Modul. Jetzt geht's.
Funktioniert.
Danke für Eure Hilfe. Und so blitzschnell.
LGB

17 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige