Мы настоятельно рекомендуем использовать Option Explicit в начале кода Excel VBA. Использование Option Explicit заставляет вас объявлять все переменные.

Например, поместить командную кнопку на рабочем листе и добавьте строки следующий код:

Dim myVar As Integer

myVar = 10

Range("A1").Value = mVar

Результат при нажатии на кнопку управления на листе:

Without Option Explicit in Excel VBA

Очевидно, что ячейка A1 не содержит значение 10. Это потому, что мы случайно опечатки MYVAR. В результате, Excel VBA помещает значение необъявленной пустой переменной MVar в ячейку A1.

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

Use Option Explicit

Результат:

Variable not Defined

  1. Нажмите кнопку OK. Затем нажмите на Reset (Стоп), чтобы остановить отладчик.

  2. Правильно MVar так, что он читает MYVAR.

Результат при нажатии на кнопку управления на листе:

With Option Explicit in Excel VBA

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

К счастью, вы можете проинструктировать Excel VBA для автоматического добавления Option Explicit.

  1. В редакторе Visual Basic, нажмите на Инструменты, а затем нажмите на кнопку Опции.

  2. Проверьте, требует объявления переменных.

Require Variable Declaration

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