пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Информатика:
» Информатика

VBA. Константы. Переменные. Описание констант и переменных.

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

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

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

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

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

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

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

Примечание: Для того чтоб в VBE (Visual Basic Editor) оператор Option Explicit вставлялся автоматически в каждый новый модуль, необходимо в настройках редактора VBE активировать  данную опцию: Tools-Options...на вкладке Editor поставить галочку "Require Variable Declaration"

Константы в VBA

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

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

или без указания типа:
Const MyConst = 4,55
в этом случае константа типа Variant.

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

Закрепим все вышесказанное примером небольшого макроса, который рассчитает функцию y = x+i*2, где x=i/7, 0<i<100 шаг 1.

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

Создадим в редакторе VBE новый модуль и добавим туда следующий код:

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
 MsgBox "Результат равен " & Y
End Sub

Запускаем наш макрос. В результате выполнения данной процедуры  мы получим Y равное 214,2857


08.06.2015; 01:06
хиты: 105
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь