VBA-Урок 6.1. Tипы данных (Variables)

С помощью переменных мы можем записывать все типы информации, такие как: числа, текст, дата и т.д.

Рассмотрим первый пример:

Sub variables()
   'Декларируем переменную как целое число
   Dim my_variable As Integer
   'Присваиваем переменной определенное значение
   my_variable = 12
   'Отображаем значение переменной в окне сообщения
   MsgBox my_variable
End Sub

Первая строка кода декларирует переменную:

   Dim my_variable As Integer

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

Тип переменной указывает на природу ее содержания (текст, число, дата и т.д.).

Вторая строка присваивает значение переменной:

   my_variable = 12

И наконец третья строка отображает значение переменной в окне сообщения:

   MsgBox my_variable

Результат выполнения кода будет следующий:

Tипы переменных

Название Тип Описание Символ
Byte Число Целое число от 0 до 255
Integer Число Целое число от -32'768 до 32'767 %
Long Число Целое число от - 2'147'483'648 до 2'147'483'647 &
Currency Число Фиксированное десятичное число между -922'337'203'685'477.5808 до 922'337'203'685'477.5807 @
Single Число Десятичное число с плавающей запятой между -3.402823E38 до 3.402823E38 !
Double Число Десятичное число с плавающей запятой между -1.79769313486232D308 до 1.79769313486232D308 #
String Текст Текст $
Date Дата Дата и время
Boolean Булево True (ПРАВДА) или False (ЛОЖЬ)
Object Объект Microsoft Object
Variant Другой Любой вид данных (тип по умолчанию, если переменная не определена)

Рассмотрим несколько примеров с различными типами переменных:

'Целое число
Dim nbInteger As Integer
nbInteger = 12345
   
'Десятичное число
Dim nbComma As Single
nbComma = 123.45

'Текст
Dim varText As String
varText = "moonexcel.com.ua"

'Дата
Dim varDate As Date
varDate = "24.08.2012"

'Булево значение True/False
Dim varBoolean As Boolean
varBoolean = True
   
'Объект (Рабочий лист как тип переменной)
Dim varSheet As Worksheet
Set varSheet = Sheets("Sheet2") 'Set => присвоение значения для переменной типа "объект"
   
'Пример использования переменной типа "объект": активирование листа
varSheet.Activate

Символы, указанные в таблице, могут использоваться для более краткого декларирования переменных:

Dim example As Integer
Dim example%

Эти две записи являются идентичными.

Комментарий : Можно также заставить пользователя декларировать переменные принудительно, прописав команду Option Explicit в начале модуля. В таком случае будет появляться сообщение об ошибке, если было введено незадекларированную переменную.

Статьи по теме:

  • VBA-Урок 5. Свойства (Properties)
  • VBA-Урок 6.2. Tипы данных (Variables)