Переменные в VBA

Переменные в VBA

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

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

Представьте, что вы повесили на ящик ярлык (дали ему имя) «Игрушки» и положили в него плюшевого мишку. Получается, что вы создали переменную – Игрушки. Значение переменной Игрушки будет – плюшевый мишка. В любой момент вы может достать этого мишку из ящика, обратившись к нему по имени «Игрушки» и положить в ящик уже не мишку, а например, зайчика. И тогда у вас будет переменная Игрушки со значением – зайчик.

Переменные в VBA

Как вы уже поняли, прежде чем начинать работу с переменной, её нужно объявить.

Объявления переменных в VBA

Правила присвоения имени переменных в VBA:

  1. Имя переменной должно быть уникальным (две разные переменные не могут иметь одно и то же имя).
  2. Максимальная длина имени переменной не может превышать 255 символов.
  3. Первым символом в имени переменной должна быть буква, после которой допускается использование цифр, или знака подчеркивания «_».
  4. Нельзя использовать пробел, точку, восклицательный знак, а также символы @, #, $, %, &.
  5. Нельзя использовать зарезервированные (ключевые) слова (слова, которые подсвечиваются синим цветом в окне редактора кода).

При присвоении имени переменной можно использовать как строчные, так и прописные буквы в любом сочетании. Например, MySum и mysum компилятор VBA воспримет как одно и то же имя. Если вы первый раз написали имя переменной MySum (первое вхождение), а второй раз написали mysum (второе вхождение), то редактор VBA автоматически исправит mysum на MySum.

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

Если создать переменную без её предварительного объявления, то она будет иметь тип Variant. В VBA этот тип переменной присваивается по умолчанию.

Если переменную создают (используют в операторе) без предварительного объявления, то в таком случае говорят, что переменная объявлена не явно.

Чтобы явно объявить переменную используют оператор Dim. Например, объявить переменную в VBA можно так:

Dim MyAge As Integer

В этой строке, MyAge – это имя переменной, а Integer – это присвоенный ей тип данных (Целое число).

В одной строке можно объявить и несколько переменных. Делается это через запятую вот так:

Dim MyAge1 As Integer, MyAge2 As Integer, MyName As String

Обратите внимание, что при объявлении переменных в одной строке, оператор Dim указывается один раз, а тип данных указывается для каждой переменной отдельно.

Кроме того, в одном операторе Dim разрешается смешивать объявление переменных различных типов: Intager, String, Date, Boolean и т.д.

Область видимости переменных в VBA

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

  1. Dim – используется наиболее часто при объявлении переменных в VBA. Если переменная объявлена как Dim в области объявлений модуля, то она будет доступна для всех процедур в этом модуле, если в процедуре – то такая переменная будет доступна только на время работы этой процедуры.
  2. Private – при объявлении переменных в стандартных модулях VBA работает точно так же, как и Dim.
  3. Public – такая переменная будет доступна всем процедурам во всех модулях данного проекта, если вы объявили её в области объявлений модуля. Если вы объявили ее внутри процедуры, она будет вести себя как Dim.
  4. Static – такие переменные можно использовать только внутри процедуры. Они видны только внутри процедуры, в которой объявлены. Переменные, объявленные с оператором Static, сохраняют свои значения до тех пор, пока выполняется код.

Если нет никаких особых требований, то при объявлении переменных в VBA лучше всего выбирать область видимости Dim.

Как присваивать имена объектам в VBA правильно?

При создании VBA программ, присваивать имена объектам рекомендуется по следующим правилам:

  1. Имя переменной должно начинаться с префикса, записанного строчными буквами. Префикс указывает, что именно будет храниться в этой переменной:
    • str (или s) – String, символьное значение;
    • fn (или f) – функция;
    • sub – процедура;
    • c (или все буквы имени заглавные) – константа;
    • b – Boolean, логическое значение (True или False);
    • d – дата;
    • obj (или o) – ссылка на объект;
    • n – числовое значение;
  2. Имена функций, методов и каждое слово в составном слове должно начинаться с заглавной буквы (Например, MsgBox ActiveDocument.Name).
  3. Константы принято записывать заглавными буквами, а между словами ставить символ подчеркивания, например COMPANY_NAME.

АВТОРИЗАЦИЯ