Переменные. Переменными называются элементы данных, значения которых при выполнении программы могут принимать различные значения в соответствии с указанным типом.
Переменными называются элементы данных, значения которых при выполнении программы могут принимать различные значения в соответствии с указанным типом.
Для объявления переменных обычно используется инструкция объявления Dim.
Синтаксис:
Dim имяПеременной [As тип] [, имяПеременной [As тип] …
Элементы синтаксиса:
имяПеременной –
Обязательный. Имя переменной, удовлетворяющее стандартным правилам именования переменных.
тип –
Необязательный. Тип данных переменной. Для каждой описываемой переменной следует использовать отдельное предложение As тип. В случае отсутствия параметра переменная будет иметь тип Variant.
Например, инструкции
Dim A As Integer, B As Single
Dim C As Boolean
описывают переменные А – целого, В – вещественного и С – логического типа.
Это же объявление переменных можно выполнить с помощью одной инструкции Dim:
Dim A As Integer, B As Single, C As Boolean
При объявлении любой переменной VBA выполняет ряд действий:
· В памяти выделяется область, размер которой определяется в соответствии с типом объявляемой переменной.
· Выделенная область памяти связывается с идентификатором объявляемой переменной. При обращении к переменной фактически происходит обращение к области памяти, где хранится текущее значение переменной.
· Переменная инициализируется, т.е. в соответствии с типом объявляемой переменной ей присваивается начальное значение. Число инициализируются значением 0, переменные Boolean – значением False, строки – пустыми строками (не содержат символов).
Объявить переменную можно в любом месте программы, но обязательно до ее использования. Однако правила хорошего стиля программирования все-таки предписывают делать это в самом начале программы в ее, так называемой, описательной части.
Переменные, описанные с помощью инструкции Dim, называются явно описанными.
Переменные являются неявно описанными, если 1) они используются в программе без объявления их с помощью инструкции Dim или 2) в инструкции объявления типа переменной был опущен параметр тип.Неявно описанные переменные связываются с типом Variant, а затем они используются как любые другие переменные этого типа. Однако, при этом, во-первых, потребуется больше ресурсов памяти по сравнению с другими типами данных и времени, т.к. компилятор вынужден сначала определить настоящий тип переменной, затем преобразовать его к этому типу, и только потом использует в вычислениях. При работе с достаточно большими программами это может привести к значительной потере во времени и ресурсах. Во-вторых, не описывая переменные явно можно получать неправильные ответы или ситуацию «бесконечный цикл» всего лишь из-за орфографической ошибки или описки.
Например, при написании процедуры Prim допущена описка: вместо инструкции K=K+10 введена инструкция K=K1+10. В результате будет искажен результат.
С переменной будет связан тип Variant и тогда, когда при объявлении переменной была допущена ошибка.
Например, инструкции
Dim A, В, С As Integer
Dim D As Variant
описывают переменные A, В и D типа Variant. Причем переменная D описана явно, а переменные A и В неявно.Для того чтобы все три переменные первой инструкции были объявлены как целые, необходимо было написать такую инструкцию:
Dim A As Integer, В As Integer, С As Integer
Чтобы избежать части ошибок, VBA позволяет наложить требование на явное описание всех переменных в модуле. В этом случае при использовании необъявленной переменной, во время компиляции генерируется ошибка, которую можно легко исправить.
Чтобы наложить требование на явное описание переменных, необходимо в разделе описаний модуля указать директиву компилятора Option Explicit:
Option Explicit
Sub Prim()
Dim K As Byte
K=K+10
. . .
End Sub
Дата добавления: 2015-08-26; просмотров: 761;