Wie verwende ich die Static-Anweisung in VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project