- •Типы данных vba
- •Переменные vba
- •Имя переменной
- •Создание переменной
- •Типизированные переменные
- •Область действия переменных
- •Константы vba
- •Константы Boolean
- •Именованные константы
- •Задание типа константы
- •Внутренние константы
- •Совместимость типов данных vba
- •Преобразования численных типов
- •Преобразование строк и чисел
- •Преобразования Boolean
- •Преобразование Date
- •Арифметические операторы vba
- •Оператор вычитания (-)
- •Оператор умножения (*)
- •Оператор деления (/)
- •Деление по модулю (Mod)
- •Логические операторы vba
- •Логический оператор and
- •Логический оператор or
- •Логический оператор not
- •Логический оператор xor
- •Логический оператор eqv
- •Операторы сравнения
- •Приоритеты выполнения операций
- •Функции vba. Понятие функции.
- •Игнорирование результата функции
- •Именованные аргументы функции
- •Функция InputBox
- •Функции vba
- •Математические функции
- •Операторы ветвления vba
- •Циклы vba
- •Цикл For..Next
- •Цикл For Each..Next
- •Цикл Do .. While
- •Цикл Do .. Until
- •Цикл Do .. Loop While
- •Цикл Do .. Loop Until
- •Массивы vba
- •Объявление массивов
- •Использование массивов
- •Изменение размерности динамического массива
ТИПЫ ДАННЫХ VBA 2
ПЕРЕМЕННЫЕ VBA 2
ИМЯ ПЕРЕМЕННОЙ 2
СОЗДАНИЕ ПЕРЕМЕННОЙ 3
ТИПИЗИРОВАННЫЕ ПЕРЕМЕННЫЕ 4
ОБЛАСТЬ ДЕЙСТВИЯ ПЕРЕМЕННЫХ 6
КОНСТАНТЫ VBA 7
СОВМЕСТИМОСТЬ ТИПОВ ДАННЫХ VBA 10
АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ VBA 12
ЛОГИЧЕСКИЕ ОПЕРАТОРЫ VBA 16
ФУНКЦИИ VBA. ПОНЯТИЕ ФУНКЦИИ. 20
ФУНКЦИИ VBA 24
ОПЕРАТОРЫ ВЕТВЛЕНИЯ VBA 25
ЦИКЛЫ VBA 30
МАССИВЫ VBA 39
Типы данных vba
Тип данных |
Описание и диапазон значения |
Byte |
Хранение положительных чисел от 0 до 255 |
Boolean |
Хранение логических значений: True, False |
Currency |
Хранение чисел для точных вычислений в диапазоне от -922337203685477,5808 до 922337203685477,5807 |
Date |
Хранение даты и времени. Даты от 1.01.100 до 31.12.9999 Время от 00:00:00 до 23:59:59 |
Double |
Хранение чисел двойной точности от -1,79769313486232*10308 до -4,94065645841247*10-324 от 4,94065645841247*10-324 до 1,79769313486232*10308 |
Integer |
Хранение целых чисел от -32768 до 32767 |
Long |
Хранение целых чисел от -2147483648 до 2147483647 |
Single |
Хранение чисел одинарной точности от -3,402823*1038 до -1,401298*10-45 от 1,401298*10-45 до 3,402823*1038 |
String |
Хранение текста длиной до 2 млрд. символов |
Variant |
Хранение любого типа данных |
Переменные vba
Переменная - это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа. Для лучшего понимания переменной можно провести аналогию, скажем, с автоматической камерой хранения на вокзале. Ячейки камеры, как известно, пронумерованы - это "имя" переменной (в отличие от камеры хранения, мы можем сами присваивать определенное имя переменной). То, что лежит в ячейке камеры хранения - это значение переменной. Оно может меняться, но номер ячейки (имя переменной) остается одним и тем же.
Имя переменной
При выборе имени переменной необходимо соблюдать определенные правила:
Имя переменной должно начинаться с буквы алфавита;
Имена переменных не могут содержать пробелы, точку или любой другой символ, который VBA использует для обозначения математических операций и операций сравнения;
Имена переменных не могут превышать 255 символов;
Имя переменной должно быть уникальным в рамках его области действия. Оно должно быть уникальным в пределах процедуры или модуля, в которой объявлена эта переменная (по аналогии с камерой хранения: на одном вокзале не может быть двух ячеек с одинаковым номером).Имя переменной не может дублировать зарезервированные ключевые слова VBA;
Имена переменных не чувствительны к состоянию регистра. Т.е. нет разницы между MyNumber, mynumber, mYnUmBeR.
Хорошим тоном программирования считается, когда именам переменным даются осмысленные названия, отражающие их суть в производимых программой операциях. Например, логично будет, если переменная, содержащая итоговую сумму, будет иметь название "AllSum".
Создание переменной
Самым простым способом создания переменной является использование ее в операторе VBA. При этом VBA создает переменную и резервирует память для переменной. Сохранение значения данных в переменной называется присваиванием переменной. Делается это с помощью оператора присваивания (=).
Например: Sum=120
Этот оператор сохраняет численное значение 120 в ячейке памяти, заданной переменной Sum.
Такое объявление переменной называется неявным объявлением переменной или объявление переменной на лету. Все переменные, которые VBA создает подобным образом, имеют тип данных Variant.
Неявное объявление переменной может вызвать массу проблем во время отладки программного кода, поэтому, такой способ программирования не рекомендуется. В некоторых языках программирования вообще нельзя объявлять переменные неявным способом.
Поэтому, VBA предоставляет возможность выполнить явное объявление переменной. Это несет следующие преимущества:
Ускоряется выполнение кода;
Уменьшается количество потенциальных ошибок при написании кода;
Улучшается читабельность программного кода;
Нормализуется выделение заглавными буквами в имени переменной (т.е., если вы явно объявили имя переменной как "AllSumm", то при написании в теле кода этой переменной, как allsumm, автоматически произойдет замена на AllSumm)
Для явного объявления переменной используется оператор Dim (Dimension).
СИНТАКСИС:
Dim name1 [, name2…]
где: name N - любой допустимый идентификатор переменной.
Идентификатор - это имя, которое дается элементам в создаваемых процедурах и модулях, таким как переменные. Это обусловлено тем фактом, что создаваемые имена определяют конкретные участки памяти (имя переменной), группы инструкций (макрос или процедура).
НАПРИМЕР:
Dim MyValue
Dim Value_1, Value_2
Все переменные, созданные подобным образом, являются переменными типа Variant.
Когда VBA создает новую переменную, эта переменная инициализируется (переменной присваивается некоторое значение "по умолчанию"):
строки инициализируются пустыми строками;
числа - значением 0;
переменные типа Boolean - False;
даты - 30 декабря 1899
Переменную можно объявлять только один раз в отдельной процедуре или модуле. Фактически переменные можно объявлять в любом месте кода. Однако, в практике программирования принято собирать все явные объявления переменных в одном месте, как правило, в начале процедуры.
