Статична променлива VBA запазва стойността си дори когато процедурата приключи.
Деклариране на статична променлива
Декларирате статична променлива с помощта на ключовата дума Static, както е показано по -долу:
123456789 | Поддеклариране ASstaticVariable ()Статичен myVariable As IntegerMsgBox myVariablemyVariable = myVariable + 2Диапазон ("A1"). Стойност = myVariableEnd Sub |
При първото натискане на F5 получавате поле за съобщение, показващо началната стойност на myVariable, която е 0. Стойността на 2 се поставя в клетка A1.
Ако натиснете отново F5 веднага след това, получавате следното поле за съобщения, показващо стойността на myVariable, която е 2, и стойността на 4, поставена във вашия работен лист в клетка A1.
Както можете да видите, променливата запазва стойността си дори в края на подпроцедурата, ако сте използвали ключовата дума Dim вместо ключовата дума Static, за да декларирате променливата, полето за съобщения винаги ще показва стойността на 0. Също така резултатът в клетката A1, ще бъде 2, всеки път, когато щракнете върху F5. Тъй като променливата няма да запази стойността си след приключване на подпроцедурата.