Een statische VBA-variabele behoudt zijn waarde, zelfs wanneer de procedure eindigt.
Een statische variabele declareren
U declareert een statische variabele met behulp van het statische sleutelwoord, zoals hieronder weergegeven:
123456789 | Sub DeclaringAStaticVariable()Statische myVariable As IntegerMsgBox mijnVariabelemijnVariabele = mijnVariabele + 2Bereik ("A1"). Waarde = mijnVariabeleEinde sub |
De eerste keer dat u op F5 drukt, krijgt u een berichtvenster met de beginwaarde van myVariable die 0 is. De waarde van 2 wordt in cel A1 geplaatst.
Als u onmiddellijk daarna opnieuw op F5 drukt, krijgt u het volgende berichtvenster met de waarde van myVariable die 2 is, en de waarde van 4, geplaatst in uw werkblad in cel A1.
Zoals u kunt zien behoudt de variabele zijn waarde, zelfs als de subprocedure eindigt, als u het sleutelwoord Dim in plaats van het sleutelwoord Static zou gebruiken om de variabele te declareren, zou het berichtenvenster altijd de waarde 0 tonen. Ook het resultaat in cel A1 zou 2 zijn, elke keer dat u op F5 klikte. Omdat de variabele zijn waarde niet zou behouden nadat de subprocedure was beëindigd.