Dim Range1 as Range


Тема: Основные элементы и операторы языка VISUAL BASIC FOR APPLICATION.

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

Теоретическая часть.

Язык программирования Visual Basic for Application (VBA) является средством визуального программирования Visual Basic и является общим для всех приложений Microsoft Office.

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

ü Boolean – принимает значения TRUE или FALSE;

ü Byte (1 байт)– целое число без знака, диапазон возможных значений 0..255;

ü Currency (8 байт)– используется для денежных расчетов (8 байт);

ü Date(8 байт) – используется для значений дат и времени от 1 января 100 года до 31 декабря 9999 года;

ü Double (8 байт)– вещественные числа двойной точности;

ü Integer (2 байта)– целые числа;

ü Object (4 байта) – используется для ссылки на объект;

ü String – строки символов (1 байт на каждый символ);

ü Variant – для любых типов данных (16 байт + по 1 байту на каждый символ, если значение содержит строку).

Для описания переменных используется конструкция Dim .. as,например:

Dim Var1 As Integer

Var1 = 5

Range(“A1”).Value=Var1

Для описания объектных переменных

Dim Range1 As Object

Set Range1 = Worksheets(1).Range(“A1”)

При описании объектной переменной можно указывать точное название типа объекта. Например, тот же объект Range можно описать следующим образом:

Set Range1 = Worksheets(1).Range(“A1”)

В VBA имеется возможность «необязательного описания переменных». Если оператор Dim опущен, то VBA описывает переменные самостоятельно, как переменную типа Variant. При конкретном описании типа объектной переменной подпрограммы выполняются быстрее, т.к. VBA не нужно тратить дополнительного времени на определение типа объектной переменной. Для больших и сложных приложений разница во времени становится существенной.

Конечно, отсутствие оператора Dim сокращает текст программы, но использование описания по умолчанию имеет три недостатка:

1. Данные типа Variant занимают больше памяти, чем другие типы;

2. Тип Variant при выполнении оператора присваивания приводится в соответствие с типом присваиваемого значения. Это тоже замедляет программу, особенно при выполнении циклов;

3. Использование типа Variant не дает уверенности в типе используемого значения, поэтому иногда приходится вставлять в текст программу проверку того, содержит ли данная переменная значения нужного типа.

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