
In VBA (Visual Basic for Applications) wird die `Static`-Anweisung verwendet, um eine Prozedurenvariable zu deklarieren, deren Wert zwischen den einzelnen Aufrufen der Prozedur erhalten bleibt. Normalerweise verlieren lokale Variablen in einer Prozedur ihren Wert, sobald die Prozedur endet. Mit `Static` können Sie jedoch sicherstellen, dass die Variable ihren Wert behält, solange das Programm läuft.
Hier ist eine einfache Erklärung, wie Sie `Static` verwenden können:
Beispiel:
Sub BeispielProzedur()
' Statische Variable deklarieren
Static Zähler As Integer
' Den Wert der Variablen um 1 erhöhen
Zähler = Zähler + 1
' Den aktuellen Wert der Variablen anzeigen
MsgBox "Die Prozedur wurde " & Zähler & " Mal aufgerufen."
End Sub
Erläuterung:
- Deklaration: Die `Zähler`-Variable wird mit der Anweisung `Static` deklariert. Dies bedeutet, dass `Zähler`, wenn `BeispielProzedur` erneut aufgerufen wird, ihren vorherigen Wert behält, anstatt zurückgesetzt zu werden.
- Verwendung: Jedes Mal, wenn Sie `BeispielProzedur` ausführen, erhöht sich der Wert von `Zähler` um 1. Dies ermöglicht das Zählen der Aufrufe der Prozedur über die Lebensdauer der Anwendung hinweg.
Wann sollte man `Static` verwenden:
- Wenn Sie den Zustand einer Variablen zwischen Prozeduraufrufen beibehalten möchten.
- Wenn das Speichern von Zuständen innerhalb einer Prozedur erforderlich ist, aber Sie keinen globalen Gültigkeitsbereich wünschen.
Hinweise:
- `Static` kann nur auf Variablen angewendet werden, die innerhalb einer Prozedur oder Funktion deklariert sind, nicht auf Variablen auf Modulebene.
- Der Speicherort der statischen Variable wird auf dem Heap und nicht auf dem Stapel gespeichert.
- Der `Static`-Bezeichner kann nur in der Prozedur oder Funktion, in der er deklariert wurde, verwendet werden.
Verwenden Sie `Static` varsichtig, da sie bei umfangreicher Nutzung Speicher beanspruchen können, während das Programm ausgeführt wird.