Как использовать явный оператор опции в vba?

Ключевые моменты

  • Опция Explicit требует объявления всех переменных .
  • Это объявление, которое вы можете использовать в начале модуля .
  • Вы можете ввести его вручную или включить в настройках.
  • Вы должны использовать Option Explicit только один раз.
  • Это также поможет вам выявить опечатки при использовании переменных.

Что такое явный параметр VBA

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

vba-опция-явный

Когда вы добавляете явный параметр в начале модуля, VBA добавляет под ним разделительную строку, после чего вы можете приступить к написанию процедуры. А когда у вас есть опция явного объявления и вы запускаете процедуру, VBA проверяет наличие необъявленной переменной и показывает сообщение об ошибке.

 Option Explicit Sub myMacro() a = 50 MsgBox a End Sub
vba-добавить разделительную строку

Выше показано сообщение, которое вы получаете, когда переменная не объявлена.

Включить явную опцию в VBA

Чтобы включить явный оператор опции в модуле, выполните следующие действия.

  1. Сначала откройте редактор Visual Basic и в меню «Инструменты» выберите «Параметры».
    activate-option-explicit-in-vba
  2. После этого в настройках перейдите на вкладку редактора и установите флажок «Требовать объявление переменной».
    editor-tab-and-tick-mark
  3. В конце нажмите ОК.
  4. Как только вы это сделаете, VBA будет добавлять явную опцию каждый раз, когда вы добавляете новый модуль.

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

Как добавить вручную?

Как я уже упоминал, оператор Option Explicit должен предшествовать первой процедуре модуля (Sub или Function). Поэтому вам нужно добавить это объявление над первой процедурой (область общих объявлений) и убедиться, что вы добавляете его только один раз.

область общих объявлений

Если вы добавите его внутри процедуры или между двумя процедурами, VBA покажет вам ошибку при попытке выполнить любой из кодов модуля.

vba-покажет вам ошибку

Примеры (почему использование Option Explicit Statement — хорошая привычка)

Позвольте мне показать вам пример, чтобы вы поняли, почему настоятельно рекомендуется использовать оператор Option Explicit. Посмотрите на следующий код.

 Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

В этом коде я объявил переменную «myText» как строку, а затем установил значение этой переменной. И в конце я использовал окно сообщения , в котором отображается значение переменной, но если вы присмотритесь, я неправильно написал эту переменную как «MyTxt» вместо «myText».

объявленная переменная

Теперь, когда я запускаю этот код, он показывает пустое окно сообщения .

пустое окно сообщения

Мне нужны ваши 2 минуты, чтобы помочь вам понять настоящую проблему. Когда я неправильно ввел имя переменной, VBA воспринимает его как отдельную переменную, и, поскольку я не использую явный оператор опции, он не показывает мне ошибку.

опечатка в имени переменной

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

Но с включенной опцией явного объявления при запуске этого кода я получаю сообщение об ошибке.

использовать-опцию-явный
 Option Explicit Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *