Разместить заказ
Вы будете перенаправлены на Автор24

Основные понятия языка VBA. Переменные и константы

8-800-775-03-30 support@author24.ru
Статья предоставлена специалистами сервиса Автор24
Автор24 - это сообщество учителей и преподавателей, к которым можно обратиться за помощью с выполнением учебных работ.
как работает сервис
Все предметы / Программирование / Язык Microsoft Visual Basic for Applications / Основные понятия языка VBA. Переменные и константы
Основные понятия языка VBA. Переменные и константы

Основные понятия языка VBA

Объект – это объединение данных с кодом, предназначенным для их обработки.

Объект представляет собой поименованный элемент, который имеет:

  • свойства (характеристики), которые можно проверить или изменить;
  • методы (действия), которые можно выполнить над объектом;
  • события (возможные для объекта ситуации), на которые он может ответить заранее определенными действиями.

Оператор – это наименьшая способная выполняться единица VBA-кода. Оператор может объявлять или определять переменную, а также выполнять какое-либо действие в программе. Иначе говоря, оператор представляет собой обобщенную инструкцию, содержащую всю информацию, нужную для выполнения определенных действий. Операторы в общем случае состоят из ключевых слов, выражений и операндов.

Ключевые (зарезервированные) слова – это имена команд, операторов, процедур, функций.

Готовые работы на аналогичную тему

Операнды – это данные, которые используются в программе. К ним относят константы, переменные и значения функций.

Процедура – это наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо.

В VBA основные типы процедур – это Sub и Function. Любая процедура содержит один или более операторов, которые, в свою очередь, помещены между двумя специальными операторами: объявлением процедуры в начале и оператором завершения процедуры в конце.

Модуль – это поименованная единица, которая состоит из одной или нескольких процедур, а также общих объявлений, относящихся ко всем процедурам в модуле.

Алфавит VBA включает в себя:

  • прописные и строчные латинские буквы от A до Z, а также буквы русского алфавита от А до Я;
  • арабские цифры от 0 до 9;
  • знаки пунктуации (пробел, точку, запятую, точку с запятой, двоеточие, круглые скобки, кавычки, апостроф);
  • специальные символы ?, !, #, %, $

Данные

Определение 1

Данные – это элементарные конструкции языка.

Типы данных делятся на простые (или скалярные) и сложные (или структурированные). Простые типы данных подразделяются на числовые, строковые и логические. Структурированный тип данных массив – $n$-мерная совокупность индексированных переменных одного типа. Массиву присваивается имя. Массив состоит из элементов (переменных), которые в памяти размещаются последовательно. Обращение в программе ко всему массиву производится по его имени. Для обращения к конкретному элементу массива необходимо указать его имя и в круглых скобках – индекс (номер) массива. Все элементы массива имеют одно имя, но различные номера (положения) в массиве.

В VBA используются 11 стандартных типов данных и пользовательский тип данных, их характеристики приведены в таблице ниже.

Типы данных и значений. Автор24 — интернет-биржа студенческих работ

Различные типы данных введены для рационального использования памяти ЭВМ. Наиболее часто начинающие программисты используют типы данных Integer (для целых чисел) и Single (для дробных чисел).

Символьные (строковые, текстовые) данные должны заключаться в кавычки: ″1-я пара″, ″лекция″.

Переменные

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

Определение 2

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

Значение переменной присваивается с помощью знака равенства. Для удобства работы с переменными в языках программирования предусмотрена возможность задания понятных человеку имен, к примеру, имена переменных rFIO, rBirthday. К именам переменных в VBA имеется ряд требований:

  1. Переменная может содержать латинские символы, числа. Использование пробела и точки в имени переменной недопустимо (вместо пробела программисты используют знак "_").
  2. Имя переменной должно начинаться с текстового символа (числа в начале не допустимы).
  3. Не допускается использование следующих символов: #, %, &, !, значок доллара. Эти символы в VBA зарезервированы за кратким указанием типа переменной без ее описания. К примеру, содержание символа $ (MyTxt$) в конце имени переменной указывает, что значение, которое хранится в этой переменной, относится к текстовому типу.
  4. Недопустимо использование зарезервированных слов. Если все ж для понимания назначения переменной необходимо использование в имени зарезервированного слова, то можно добавить некоторый символ или символы, например: Date зарезервировано (тип дата), для использования можно добавить "My", после чего получим допустимое – MyDate.
  5. Имя переменной не должно быть длиннее 254 символов. Мало вероятно, что кому-то придет в голову для переменной задавать имя длиннее 15-20 символов, не говоря уже о 254.
  6. Язык VB не чувствителен к регистру, поэтому переменные MyVar и myvar для VBA одинаковы.
Замечание 1

Пара советов по именованию переменных. Давайте имена переменным понятные, но в тоже время короткие т.к. с длинными именами сложнее работать. VBA позволяет описывать переменные в любой области кода, что в дальнейшем, при большом количестве строк программного кода может вызвать затруднение с поиском и определением типа. Рекомендуется не лениться описывать все переменные в начале процедуры или функции, определив, таким образом, некоторый блок переменных. Можно также оставить комментарии с подробным описанием назначения переменной.

Описание переменных в VBA

Под описанием переменной подразумевается указание типа данных. В VBA переменные можно указывать явным и неявным образом. Не явным образом означает, что можно в любом месте кода указать имя переменной и начать с ней работать, в таком случае тип этой переменной принимается как Variant. Такой способ удобен, но не рекомендуется, поскольку может возникнуть путаница и, как следствие, ошибки при вычислениях. Явное описание осуществляется после ключевого слова:

Dim [имя переменной] As [Тип].

Пример 1

Например, Dim MyInt As Integer. В случае такого описания переменная MyInt будет хранить в памяти только значения целого типа.

Обязательное объявление всех переменных

Как уже говорилось выше переменные в VBA можно объявить, а можно и не объявлять. Однако рекомендуется объявлять каждую переменную, используемую в программе. Это позволит сделать код более понятным, дисциплинирует, и в крупных разработках позволит сэкономить память и увеличить быстродействие при обработке данных. Для того чтобы в VBA включить обязательное объявление всех переменных, необходимо в начале модуля добавить строку: Option Explicit. После, на каждой не объявленной переменной будет происходить остановка программы, и отображаться ошибка до тех пор, пока всем переменным не будет присвоен тип в разделе Dim.

Константы

Определение 3

Константой называется значение, хранимое в памяти, которое в процессе работы программы не изменяется.

Константы используются в тех случаях, когда в коде программы используется один и тот же параметр, число, строка и т.д. Для того чтоб обеспечить удобство изменения этих параметров при необходимости, в начале кода программы описываются константы и им присваивается значение. Константы объявляются с помощью оператора Const. Например:

  • Const MyIntConst as Integer = 8
  • Const MyTxtConst as String = "Константа"

или без указания типа:

Const MyConst = 4,55

в этом случае константа типа Variant.

Замечание 2

Внимание. В случае если при работе программы вы захотите изменить значение константы, программа завершится ошибкой. Поэтому будьте внимательны. Так же, не допускается совпадение имен констант и переменных. Требования к именам констант такие же, как и к переменным.

Закрепим все вышесказанное примером небольшого макроса, который рассчитает функцию $y = x+i * 2$, где $x=\frac{i}{7}$, $0

Как видно из функции $y, x, i$ - это переменные. Так как при расчетах используется деление, то $y, x$ будут содержать значения вещественного типа. Переменная $i$ - это счетчик с шагом 1. 2 - это постоянное значение, т.е. константа. Результат $y$ будет выведен в диалоговом сообщении msgBox.

$Option Explicit$

$Sub VarExample()$

$Const MyConst As Byte = 2$

$ Dim Y As Single$

$ Dim X As Single$

$ Dim i As Integer$

$For i = 1 To 100$

$ X = i / 7$

$ Y = X + i * MyConst$

$ Next i$

В результате выполнения данной процедуры мы получим $y=214,2857$.