Присваивание значения переменным

Значение переменной присваивается с помощью оператора = таким образом:

<Переменная> = <Значение или выражение>

Пример сохранения целочисленного значения в переменной:

Dim x As Integer
x = 327

Если необходимо присвоить значение объектной переменной, то необходимо дополнительно указать оператор Set:

Dim obj As Range
Set obj = Range("A1")

Переменной типа Variant можно присвоить специальное значение Null, которое означает отсутствие значения. Результатом любой операции, в которой участвует переменная со значением Null, будет значение Null. Пример:

Dim var As Variant
var = Null

Переменной типа Object можно присвоить специальное значение Nothing, которое означает отсутствие ссылки на объект. Пример:

Dim obj As Object
Set obj = Nothing

Вместо указания конкретного значения, справа от оператора присваивания можно указать выражение, которое возвращает какое-либо значение. Это выражение будет вычислено и результат сохранится в переменной, стоящей слева от оператора присваивания. Пример:

Dim x As Integer
x = 80 + 50 * 2

После сохранения значения переменную можно использовать в составе других выражений, например, увеличим значение в два раза:

x = x * 2      ' Символ * означает умножение

Если переменной не было присвоено значение, но производится попытка использовать переменную в составе выражения, то в зависимости от типа даных она будет иметь следующие значения:

  • 0 — для типов Byte, Integer, Long, Single, Double и Currency;
  • 0:00:00 — для типа Date;
  • пустая строка — для типа String;
  • Empty — для типа Variant. Значение Empty эквивалентно пустой строке, поэтому в результате выполнения следующего кода будет выведено диалоговое окно с сообщением "Эквивалентны":
If Empty = "" Then
   MsgBox "Эквивалентны"
End If

Проверить переменные на соответствие значениям Empty и Null позволяют следующие функции:

  • IsEmpty(<Переменная>) — возвращает значение True, если переменная содержит значение Empty, и False — в противном случае. Пример проверки значения:
If IsEmpty(var) = True Then
   MsgBox "Содержит значение Empty"
Else
   MsgBox "Не содержит"
End If
  • IsNull(<Переменная>) — возвращает значение True, если переменная содержит значение Null, и False — в противном случае.

Visual Basic for Applications (VBA)
Самоучитель по VBA

Помощь сайту

Yandex-деньги: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

Поиск по сайту в Яндексе