Excel VBA GoTo Заявление

VBA Goto Statement используется для преодоления предсказанных ошибок при добавлении и создании огромного кода строк в VBA. Эта функция в VBA позволяет нам использовать полный код в соответствии с нашими прогнозами или предположениями. С помощью Goto мы можем перейти к любому указанному коду строки или местоположения в VBA. Есть два способа сделать это, которые мы увидим в следующих примерах.

Как использовать Excel VBA Goto Statement?

Мы научимся использовать Excel VBA Goto Statement на нескольких примерах.

Вы можете скачать этот шаблон VBA GoTo Excel здесь - Шаблон VBA GoTo Excel

Пример № 1

Первый способ использования VBA Goto - метод Application.Goto . С помощью заявления Application.Goto мы можем в любое конкретное место, рабочую книгу или рабочий лист, который открыт в настоящее время. Это утверждение будет выглядеть так, как показано ниже.

  • (Ссылка): Это не что иное, как указанная ссылка на ячейку. Если ссылка не указана по умолчанию, вы перейдете к последнему диапазону используемых ячеек.
  • (Прокрутка): это логическое утверждение ИСТИНА или ЛОЖЬ. Если значение TRUE, оно будет прокручивать окно, если значение FALSE, оно не будет прокручиваться через окно.

Для этого перейдите в окно VBA и нажмите «Модуль», который находится в меню «Вставка», как показано ниже.

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

Код:

 Sub VBAGoto () End Sub 

Теперь напишите Application.Goto, чтобы включить приложение или место, куда мы хотим пойти.

Код:

 Sub VBAGoto () Application.Goto End Sub 

После этого дайте ссылку на любой лист или рабочую книгу и диапазон ячеек. Здесь мы дали диапазон Ячейки B3 и Рабочих листов под названием «VBA Goto».

Код:

 Sub VBAGoto () Application.Goto Reference: = Рабочие листы ("VBA_Goto1"). Диапазон ("B3"), Конец Sub 

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

Код:

 Sub VBAGoto () Справочник по Application.Goto: = Рабочие листы ("VBA_Goto1"). Диапазон ("B3"), Прокрутка: = Ложный конец Sub 

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

Теперь мы изменим аргумент Scroll с FALSE на TRUE.

Код:

 Sub VBAGoto () Справочник по Application.Goto: = Рабочие листы ("VBA_Goto1"). Диапазон ("B3"), Прокрутка: = True End Sub 

Сначала мы держим курсор в ячейке A5, как показано ниже. Теперь запустите полный код, используя клавишу F5 или вручную. Мы увидим, что курсор, который был в ячейке A5, теперь прокручивается вверх и перемещается в ячейку B3, и вся таблица переместилась на верхний уровень листа, начиная с той же ячейки, что и B3, как показано на снимке экрана ниже.

Пример № 2

Существует еще один способ использования аргумента VBA Goto. Используя Goto в VBA в этом примере, мы можем пропустить аргумент, который вызывает ошибку. Для этого вставьте новый модуль в VBA и запустите Subcategory с именем аргумента, как показано ниже. Вы можете использовать любое другое имя.

Код:

 Sub VBAGoto () End Sub 

Для этого мы рассмотрим 3 целых числа X, Y и Z, открыв подкатегорию в VBA, как показано ниже.

Код:

 Sub VBAGoto () Dim X As Integer, Y As Integer, Z As Integer End Sub 

Теперь также рассмотрим некоторое математическое деление, где мы разделим 10, 20 и 30 на 0, 2 и 4, как показано ниже.

Код:

 Sub VBAGoto () Dim X как целое число, Y как целое число, Z как целое число X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Если мы запустим код, мы получим то же сообщение об ошибке Run-time error 11.

Выше сообщение об ошибке Ошибка времени выполнения «11» появляется только тогда, когда написанное математическое выражение неверно. Теперь, чтобы отменить эту ошибку, мы будем использовать текст On Error GoTo со словом YResult, чтобы пропустить сообщение об ошибке и получить вывод, который работает нормально, как показано ниже.

Тем не менее, наш код не является полным. Использование Goto с оператором « YResult :» пропустит только строку ошибки кода. Но это снова покажет ошибку, поскольку Labe не определен, как показано ниже.

Код:

 Sub VBAGoto () Dim X как целое число, Y как целое число, Z как целое число при ошибке GoTo YResult: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

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

Код:

 Sub VBAGoto () Dim X как целое число, Y как целое число, Z как целое число при ошибке GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 End Sub 

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

Код:

 Sub VBAGoto () Dim X как целое число, Y как целое число, Z как целое число при ошибке GoTo YResult: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

После этого запустите полный код, чтобы увидеть результат. Мы получим результат деления каждого определенного целого числа на 0, 10 и 8, как показано на скриншоте ниже.

В случае ошибки GoTo оператор YResult помог нам напрямую перейти к целому числу упомянутой точки результата, как мы делали для целого числа Y. И вывод для X в виде 0 показывает, что был записан неверный аргумент оператора. Мы можем пометить метку еще до Z, но это даст нам результат только Z целого числа. Для X и Y он снова покажет 0 в качестве вывода.

Плюсы VBA при ошибке

  • Мы можем рассчитать любую математическую формулу, даже если она неверна.
  • Для больших структур кодирования, где есть вероятность или есть ошибка, использование GoTo может дать правильный результат даже среди строки кодов.
  • Это дает лучший результат по сравнению с результатом, полученным в обычных вычислениях Excel, несмотря на неверный аргумент.

То, что нужно запомнить

  • Запомните файл в файле Macro-Enabled Excel, чтобы мы могли использовать созданный код VBA много раз.
  • Скомпилируйте написанный код перед выполнением с любым требованием Excel.
  • Вы можете назначить написанный код любой кнопке, чтобы мы могли быстро нажать на кнопку и запустить код.
  • Используйте метку, как показано в примере 2, чтобы мы получили результат для полного правильного кода.

Рекомендуемые статьи

Это было руководство к Заявлению VBA GoTo. Здесь мы обсудили, как использовать Excel VBA GoTo Statement вместе с некоторыми практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Как использовать Excel VBA Loops?
  2. Функция VBA в Excel
  3. Руководство по диапазону в Excel
  4. Как использовать функцию VBA VLOOKUP?

Категория: