Объявляет переменную или массив на уровне процедуры (то есть внутри процедуры или функции), так что значения данной переменной или массива сохраняются даже после выхода из данной процедуры или функции. Соглашения о инструкции Dim также действительны.
Инструкция Static не может использоваться для определения переменных массивов. Массивы должны объявляться с фиксированным размером.
Static Имя_переменной[(Начало To Конец)] [As Тип_переменной], Имя_переменной2[(Начало To Конец)] [As Тип_переменной], ...
Sub ExampleStatic
Dim iCount As Integer, iResult As Integer
For iCount = 0 To 2
iResult = InitVar()
Next iCount
MsgBox iInit,0,"Ответ -"
End Sub
REM Функция для инициализации статической переменной
Function InitVar() As Integer
Static iInit As Integer
Const iMinimum as Integer = 40 REM минимальное значение, возвращаемое этой функцией
if iInit = 0 then REM проверка инициализации
iInit = iMinimum
Else
iInit = iInit + 1
End If
InitVar = iInit
End Function