например;
Private Static Sub DoIt All ()
Static Function DontDoVeryMuch(intTimeToWaste As Integer)
Обратите внимание, если в объявлении процедуры присутствует задающее область видимости ключевое слово Private (или Public), то Static идет после него.
Объявление нескольких переменных в одной строке
В одной строке программного кода можно объявить и несколько переменных. Ключевое слово Dim печатается при этом только один раз, а переменные разделяются запятыми.
Но не забывайте указать тип данных для каждой из переменных в объявлении, даже если все эти переменные одного типа. Вот пример правильно оформленного оператора этого типа:
Dim intA As Integer, intD As Integer, intL As Integer
Смешивать различные типы данных тоже разрешается:
Dim curNetWorth As Currency, datSecondTuesday As Date
При объявлении нескольких переменных в одной строке возрастает вероятность случайного пропуска объявления типа данных. Для каждой из переменных в строке с пропущенным типом данных автоматически будет выбран тип Variant. Например, при обработке оператора
Dim strX, strY, strZ As String
strX и strY интерпретируются как переменные типа Variant, а не как строковые переменные.
Размещение информации в переменных
После того как переменная объявлена, первым шагом в ее использовании обычно бывает наполнение ее информацией (первое размещение информации в переменной называется инициализацией переменной). Чтобы поместить информацию в переменную, нужно присвоить значение информации этой переменной. Как только понадобится, можно заменить данные, хранящиеся в переменной, присвоив ей другое значение.
Присваивание значений
Значения переменным присваиваются с помощью обыкновенного знака равенства. Например, чтобы поместить число 3 в переменную с именем intC, напечатайте intC = 3
В VBA оператор присваивания представляет собой связанную знаком равенства конструкцию, с переменной слева от него и выражением, определяющим значение переменной, справа. В приведенном выше примере выражение представляет собой просто число 3. Такие явно указанные значения называются буквальными значениями. (Выражения будут обсуждаться ниже, в разделе Выражен-и-я.)
Взгляните на следующий оператор присваивания:
strQuot e = Не спрашивай, что я сделал для страны - _
спроси о том, что страна сделала для меня.
В данном случае оператор присваивает текст справа от знака равенства переменной strQuot e. Как и раньше, информация во входящем в этот оператор выражении представляет собой буквальные значения - реальный текст, помещаемый в переменную. Но оператор разбит на две строки, поэтому и текстовое выражение разбито на две отдельные строки. Знак (амперсанд) дает указание VBA соединить эти строки вместе.
Здесь я просто пытаюсь показать, что выражения часто имеют несколько компонентов.
Но независимо оттого, из какого числа компонентов складывается выражение, VBA сначала вычисляет результирующее значение, а уж затем присваивает это значение переменной.
Ясно, что до момента реального выполнения оператора присваивания его утверждение не является фактом. В математике равенством 2+2=4 на самом деле утверждается, что значение слева от знака равенства равно значению справа.
В VBA оператор присваивания заставляет переменную быть равной значению выражения. В дальнейшем новый оператор присваивания может изменить значение этой переменной в любое время.
Использование переменных в операторах присваивания
Можно присваивать переменным не только буквальные значения - точно так же можно присваивать и значения, определяемые другими переменными. В операторе curSalePrice = curCost * sngMargin переменной curSalePrice присваивается значение, равное произведению переменных curCost и sngMargin. В данном случае выражение состоит из переменных, а не из буквальных значений. VBA вычисляет результат на основе значений, хранящихся в этих переменных. (Кстати, в полном соответствии с рекомендованными в главе 6 соглашениями по выбору имен, curSalePrice и curCost являются переменными типа Currency.)
Использование функций в операторах присваивания
Поскольку функции и создаваемые вами процедуры типа Function возвращают значения, их тоже можно использовать в операторах присваивания. Например:
ctrFavorite = InputBox(Кто сегодня фаворит?)
В данном случае используется функция VBA Input Box, которая отображает на экране небольшое диалоговое окно с указанным сообщением и полем для ввода ответа пользователем. Этот ответ и будет возвращаемым функцией значением, представляющим собой строку текста (функция Input Box рассматривается подробно в главе 11).
Выражен-и-я
Выражение представляет собой часть оператора VBA. которая в результате ее вычисления дает некоторое значение (этим значением может быть число, строка текста или ссылка на объект). Выражение может состоять из одного или нескольких следующих элементов в любой их комбинации:
* переменные (например, bytMonth или boolWinter );
* буквальные значения (например, 1234 или Это только пример);
* константы (они предназначены для хранения буквальных значений и рассматривают; ся в разделе 'Работа с постоянными значениями);
* функции VBA (например, Input Box () или Sqr ());
* процедуры типа Function.
Если в выражении не меньше двух таких элементов, то они должны быть связаны либо знаками