Hallo,
entscheidend ist, mit welchem Schlüsselwort sie deklariert werden.
Zitat Hilfe:
Dim deklariert lokale Variablen in Subroutinen. Globale Variablen werden mit den Anweisungen PUBLIC oder PRIVATE deklariert.
und dann gibt es noch Global
Dimensioniert eine Variable oder ein Array auf globaler Ebene (also nicht innerhalb eine Subroutine oder Funktion), sodass die Variable oder das Array in allen Bibliotheken und Modulen für die Dauer der aktuellen Sitzung gültig ist.
Korrektur: Wird eine Variable per Dim außerhalb einer Sub oder Function deklariert, so gilt sie innerhalb des gesamten Moduls. Sie behält ihren Wert allerdings nur so lange, wie das Makro läuft.
Zum Testen:
Code: Alles auswählen
Dim a as integer
Sub Main
a=25
msgbox a
neu
End Sub
sub neu
a=a+25
msgbox a
end sub
Rufe zunächst "Main" auf und danach (einzeln) "neu". Probier dann mal die Deklaration per Public bzw. Global.