Eine statische VBA-Variable behält ihren Wert, auch wenn die Prozedur endet.
Deklarieren einer statischen Variablen
Sie deklarieren eine statische Variable mit dem Schlüsselwort Static wie unten gezeigt:
123456789 | Unter DeklarationAStaticVariable()Statisch myVariable As IntegerMsgBox myVariablemeineVariable = meineVariable + 2Range("A1").Value = myVariableEnd Sub |
Wenn Sie zum ersten Mal F5 drücken, erhalten Sie ein Meldungsfeld mit dem Anfangswert von myVariable, der 0 ist. Der Wert 2 wird in Zelle A1 platziert.
Wenn Sie unmittelbar danach erneut F5 drücken, erhalten Sie das folgende Meldungsfeld mit dem Wert von myVariable, der 2 ist, und dem Wert 4, der in Ihrem Arbeitsblatt in Zelle A1 platziert wird.
Wie Sie sehen, behält die Variable ihren Wert, auch wenn die Unterprozedur endet. Wenn Sie das Schlüsselwort Dim anstelle des Schlüsselworts Static zum Deklarieren der Variablen verwendet haben, wird im Meldungsfeld immer der Wert 0 angezeigt. Außerdem wird das Ergebnis in Zelle . angezeigt A1 wäre 2, jedes Mal, wenn Sie auf F5 geklickt haben. Da die Variable ihren Wert nach Beendigung der Unterprozedur nicht beibehalten würde.