
- •Основы программирования на языке Visual Basic for Applications Типы данных
- •Тип данных Boolean
- •Тип данных Date
- •Тип данных Decimal
- •Тип данных Byte
- •Тип данных Integer
- •Тип данных Long
- •Тип данных Currency
- •Тип данных Object
- •Тип данных Single
- •Тип данных String
- •Определяемый пользователем тип данных
- •Тип данных Variant
- •Определение подтипа данных переменной типа Variant
- •Функции определения типа
- •Константы
- •Переменные
- •Массивы
- •Описание массивов фиксированного размера
- •Описание динамического массива
- •Использование многомерных массивов
- •Правила присвоения имен в языке Visual Basic
Переменные
Почти в каждом приложении необходимо использовать переменные, чтобы хранить в них информацию. Например, можно сохранить в переменной введенные пользователем данные, а затем использовать эту информацию в разных частях программы.
Переменная – это именованная область памяти, отведенная для временного хранения данных. При выполнении программы можно изменить значение переменной.
В некотором смысле переменная подобна именованной ячейке рабочего листа. В Excel можно задавать имя ячейке на рабочем листе, а затем ссылаться на эту ячейку по ее имени так, что даже не приходится запоминать физический адрес ячейки из строки и столбца каждый раз, когда необходимо сослаться на данные или формулы в этой ячейке. В VBA нет необходимости беспокоиться о конкретных адресах данных какой-либо переменной, просто следует использовать имя этой переменной для ссылки на сохраняемые данные.
Переменные в инструкциях используются таким же образом, что и переменные в алгебраических уравнениях. Переменная представляет числа, текстовые данные или другую информацию, которая точно не известна во время написания инструкции, но будет доступна и известна в момент выполнения программой данной инструкции.
Всякий раз, когда имя переменной появляется в инструкции, VBA подставляет вместо него фактическое значение, хранимое в текущий момент в участке памяти, на который ссылается переменная.
При описании переменных обычно используется инструкция Dim. В VBA не требуется описывать большинство переменных перед их применением. Переменные называются неявно описанными, если они сразу используются в программе, а не объявляются специальной инструкцией. Неявно описанным переменным присваивается тип Variant, а затем они применяются, как и любые другие переменные этого типа. Однако рекомендуется явно описывать все переменные.
Для создания переменной на уровне процедуры инструкция описания помещается внутри процедуры. Чтобы создать переменную на уровне модуля, инструкция описания располагается в начале модуля, в разделе описаний.
В следующем примере создается переменная strName и задается тип данных String.
Dim strName As String
Когда эта инструкция располагается в процедуре, переменная strName может использоваться только в данной процедуре. Если же такая инструкция находится в разделе описаний модуля, то переменная strName доступна для всех процедур данного модуля, но не может использоваться процедурами из других модулей проекта. Чтобы сделать переменную доступной для всех процедур проекта, перед ней надо поставить инструкцию Public, как показано в следующем примере:
Public strName As String
Переменные могут описываться как один из указанных ранее типов данных. Если тип данных не задан, по умолчанию переменная приобретает тип Variant. Имеется также возможность создать определяемый пользователем тип данных с помощью инструкции Type.
Допускается также описание нескольких переменных в одной строке. В этом случае, чтобы задать тип данных, надо указать определенный тип для каждой переменной. В следующем примере переменные intX , intY, и intZ описываются как Integer.
Dim intX As Integer, intY As Integer, intZ As Integer
В следующей строке intX и intY описываются как Variant; и только intZ описывается как Integer.
Dim intX, intY, intZ As Integer
Можно не указывать тип данных переменной в описании. Если тип данных не указан, переменная приобретает тип Variant.
Например,
Dim X As Integer
Эта инструкция описывает переменную X как Integer — целые числа от -32768 и до 32767. При попытке присвоить X число, выходящее за пределы этого диапазона, возникает ошибка. При присваивании X дробного числа, выполняется округление. Например:
X = 32768 ' Вызывает ошибку.
X = 5.9 ' Задает для x значение 6.