- •Лабораторная работа №2
- •Теоретические сведения
- •1. Понятие процедуры
- •Процедуры-подпрограммы
- •Функции
- •2. Переменные
- •Область видимости переменной
- •Числовые типы данных
- •Строковые типы данных
- •Логический тип данных
- •Тип данных Дата/время
- •Объектный тип данных
- •Тип данных Variant
- •Использование префиксов типов данных в именах переменных
- •3. Операции
- •Инструкции vba
- •Оператор присваивания
- •Условный оператор
- •Оператор выбора
2. Переменные
Переменная – именованная область памяти, отведенная для временного хранения данных, которые могут изменяться во время выполнения программы.
В любой момент времени переменная может иметь только одно значение.
В VBA используются переменные следующих типов:
– числовые;
– строковые;
– логический;
– Дата/Время;
– Объектный;
– Variant – по умолчанию.
Синтаксис описания переменной:
Dim ИмяПеременой [As тип]
Static ИмяПеременой [As тип]
Private ИмяПеременой [As тип]
Public ИмяПеременой [As тип]
Ключевые слова Dim, Static, Private, Public влияют на область видимости и время жизни переменной.
Область видимости переменной
Область видимости переменной задает область, в которой может быть использована переменная. В VBA имеется три соответствующих уровня переменных:
Переменные уровня процедуры используются только в процедуре, в которой они описаны при помощи инструкции Dim или Static, размещенной в процедуре. Отличие Static переменной от Dim в том, что при выходе из процедуры Static переменная сохраняет свое значение
Переменные уровня модуля используются только в модуле, в котором они описаны при помощи инструкции Private, размещенной в области описания модуля, т. е. перед описанием процедур.
Глобальные переменные, используемые во всех модулях данного проекта описываются при помощи инструкции Public, размещенной в области описания модуля.
Время жизни переменной
Личная (Dim) переменная сохраняет свое значение только пока выполняется процедура, в которой эта переменная описана. При завершении процедуры значение переменной теряется, и при повторном запуске процедуры его надо заново инициализировать. Переменные, описанные при помощи инструкции Static, сохраняют свое значение по выходу из процедуры, но пока работает программа. Переменные описанные как public сохраняют свое значение пока работает программа.
Примеры описания переменных:
Dim intNumber As Integer
Public strMyText As String
Числовые типы данных
Числовые типы данных различаются размером и диапазоном допустимых значений. Размер – это количество байтов, которое занимает значение данного типа в памяти. Диапазон допустимых значений определяет наибольшее и наименьшее значение для переменной данного типа.
Тип данных (суфикс) |
Размер |
Диапазон допустимых значений |
Byte |
1 байт |
от 0 до 255 |
Integer (%) |
2 байта |
от –32 768 до 32 767 |
Long (&) |
4 байта |
от –2 147 483 648 до 2 147 483 647 |
Single (!) |
4 байта |
от –3,402823Е38 до –1,401298Е–45 для отрицательных чисел от 1,401298Е–45 до 3,402823Е38 для положительных чисел |
Double (#) |
8 байт |
от –1,79769313486232Е308 до –4,94065645841247Е–324 для отрицательных чисел от 4,94065645841247Е–324 до 1,79769313486232Е308 для положительных чисел |
Currency (@) |
8 байт |
от –922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Decimal |
14 байт |
+/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой +/– 7,9228162514264337593543950335 с 28 знаками после запятой |
Примечание:
Десятичный тип данных Decimal фактически является подтипом типа Variant. Переменные типа Decimal нельзя описывать явно. Их можно использовать только с помощью функции CDec(), которая преобразует тип Variant в тип Decimal.