Переменные VBA
Переменная - это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа.
Для лучшего понимания переменной можно провести аналогию, скажем, с автоматической камерой хранения на вокзале. Ячейки камеры, как известно, пронумерованы - это "имя" переменной (в отличие от камеры хранения, мы можем сами присваивать определенное имя переменной). То, что лежит в ячейке камеры хранения - это значение переменной. Оно может меняться, но номер ячейки (имя переменной) остается одним и тем же.
При выборе имени переменной необходимо соблюдать определенные правила:
Имя переменной должно начинаться с буквы алфавита;
Имена переменных не могут содержать пробелы, точку или любой другой символ, который VBA использует для обозначения математических операций и операций сравнения;
Имена переменных не могут превышать 255 символов;
Имя переменной должно быть уникальным в рамках его области действия. Оно должно быть уникальным в пределах процедуры или модуля, в которой объявлена эта переменная (по аналогии с камерой хранения: на одном вокзале не может быть двух ячеек с одинаковым номером).Имя переменной не может дублировать зарезервированные ключевые слова VBA;
|
|
Имена переменных не чувствительны к состоянию регистра. Т.е. нет разницы между MyNumber, mynumber, mYnUmBeR.
Хорошим тоном программирования считается, когда именам переменным даются осмысленные названия, отражающие их суть в производимых программой операциях. Например, логично будет, если переменная, содержащая итоговую сумму, будет иметь название "AllSum".VBA позволяет без лишних проблем создавать переменные, и это больше всего нравится новичкам. Все, что вам необходимо сделать, — ввести имя переменной и указать ее начальное значение. VBA объявляет переменные неявно, создавая групповые переменные, которые могут содержать любую необходимую вам информацию.
Таким образом, выражение, которое вы можете записать, выглядит так:
Переменная = Что-нибудь
Если имя переменной не является зарезервированным в VBA словом и отвечает требованиям синтаксиса, в этом случае переменная будет "жить и работать". (Требования синтаксиса к именам достаточно жесткие: вы можете использовать буквы и цифры и не должны применять пробелы. Подчеркивания разрешены, однако, многие другие не алфавитно-цифровые знаки — нет, так как в VBA они предназначены для других целей.)
В нижеследующем примере вы создаете переменную с именем Inventory и присваиваете ей значение 50000:
Inventory = 50000
После того как переменная Inventory определена, задайте другие переменные там, где они необходимы, и с их помощью выполняйте вычисления.
|
|
Переменные могут хранить данные различных видов; каждый вид информации, хранящийся в переменной, называется типом данных. Например,
строковая переменная может хранить текст, который используется для вычислений,
целые переменные могут хранить целые числа в диапазоне от -32767 до +32767,
булевы переменные принимают только два значения — True (Истина/Да) и False (Ложь/Нет).
Начинающим программистам незачем беспокоиться о таких мелких отличиях, поскольку неявно определенные переменные могут содержать данные любого типа. Однако опытные программисты предпочитают объявлять переменные в явном виде по двум важным причинам.
· Производительность. При явном объявлении переменной VBA выделяет определенное количество памяти и не тратит время на перевод из общего типа в соответствующий необходимый тип.
· Аккуратность. Объявление переменных в явном виде позволит более аккуратно писать программы. Если вы случайно допустите опечатку в имени переменной, VBA немедленно выдаст сообщение об ошибке, поскольку переменная с таким именем еще не объявлена. В противном случае при неявном определении VBA будет считать, что вы создаете новую переменную, и тогда ваша программа вряд ли будет работать правильно.
Есть несколько способов явного определения переменной;
* самый простой состоит в использовании выражения Dim, которое объявляет переменную и указывает ее тип. (Dim используется для определения размера переменной: с точки зрения VBA вы задаете объем пространства памяти для данной переменной.)
В следующем примере выражение Dim используется для объявления переменной с именем ProjectDue и указания, что она может содержать только информацию в формате даты:
Dim ProjectDue as Date
Многие программисты предпочитают описывать переменные с самого начала — таким образом их легко отследить, а особенно в тех случаях, когда возникают различные проблемы. Однако, если вы намерены работать только с очень простыми макросами, нет особой необходимости использовать выражение Dim, Просто объявите свои переменные в неявном виде, тогда все будет в порядке.