Hallo liebes Forum,
ich möchte eine Variable delarieren, der während der Ausführung eines Makros ein Wert zugewiesen wird und die nach Beendigung des Makros (Exit Sub)den Wert behält. Meine Versuche endeten leider immer mit einer Fehlermeldung. Ich habe versucht, einmal innerhalb und einmal außerhalb des Makros zu deklarieren.
Dim Wert As Global,
Global Wert As Long…
Brachte alles nix.
Könnt Ihr mir weiterhelfen?
Gruß Achim
Dim Wert As Global,
Global Wert As Long…
Hi Achim,
Global kenne ich nicht, gabs/gibts a)früher und/oder b) bei VB.
Ich kenne nur Public.
Probier mal die nachfolgenden Codes, laß erst 1 laufen, dann 2, das zeigt dir die globale Festlegung.
dann rufe 3 auf, das zeigt die Funktion von static innerhalb einer Prozedur.
Achja, globale Variablen müssen m.E. immer oben in einem Standardmodul stehen, also nicht in Tabelle1 o.ä.
Gruß
Reinhard
Option Explicit
Public Wert As Long
'
Sub Eins()
Wert = 4711
Exit Sub ' naja macht kurz vor end sub wenig Sinn :smile:)
End Sub
'
Sub Zwei()
MsgBox Wert
End Sub
'
Sub drei()
Call Vier
Call Vier
Call Vier
End Sub
'
Sub Vier()
Static Wert2 As Long
Wert2 = Wert2 + 100
MsgBox Wert2
End Sub