VBA GoTo a Line Label

Оператор GoTo в VBA позволяет перейти к строке кода.

Сначала создайте метку строки в любом месте вашего кода:

1 Пропускать:

Затем добавьте в оператор «GoTo», чтобы перейти к метке строки.

1 GoTo Пропустить

Примеры GoTo

В этом примере проверяется год. Если наступит 2022 год или позже, он перейдет к метке Пропустить строку. Это позволяет пропустить код при соблюдении определенных условий.

123456789101112 Sub GoTo_Example ()Тусклый год как целое числогод = 2019Если год> = 2019, GoTo Skip'Данные о процессах за годы <2022MsgBox «Год до 2022 года»Пропускать:Конец подписки

Перейти к меткам нескольких строк

Вы также можете использовать операторы GoTo для перехода к соответствующим строкам кода. Давайте скорректируем наш предыдущий пример, чтобы переходить к разным местоположениям кода в зависимости от того, какой сейчас год:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Тусклый год как целое числогод = 2019Если год = 2019, тоПерейти к году2019ИначеЕсли год = 2010 ТогдаПерейти к 2020 годуЕщеПерейти к году2021Конец, еслигод2019:'Процесс 2022MsgBox "Год 2022"GoTo EndProc2020 год:'Процесс 2022MsgBox "Год 2022"GoTo EndProcгод2021:'Процесс 2022+MsgBox «Год 2022+»EndProc:Конец подписки

Обратите внимание на «GoTo EndProc» перед каждой меткой строки. Мы добавили эту строку кода, чтобы эти разделы кода пропускались, если к ним не обращается соответствующий «GoTo».

Обработчик ошибок GoTo Конец процедуры

Теперь давайте воспользуемся обработкой ошибок, чтобы завершить процедуру в случае ошибки.

123456789101112 Sub GoTo_OnError ()Dim i как целое числоПри ошибке GoTo EndProcя = 5/0MsgBox iEndProc:Конец подписки

Перейти к повторению кода

В нашем последнем примере оператор GoTo будет повторять некоторый код.

Ниже мы используем окно сообщений Да / Нет (нажмите, чтобы узнать больше), чтобы подтвердить, что пользователь принимает предупреждение. Если они нажмут «Нет», окно сообщения будет отображаться снова, пока они не нажмут «Да» (см. GIF ниже).

1234567891011 Sub GoTo_YesNoMsgBox ()RepeatMsg:Тусклый ответ как целое числоanswer = MsgBox ("ПРЕДУПРЕЖДЕНИЕ: этот файл был открыт как файл только для чтения, что означает, что любые внесенные вами изменения не будут сохранены, если / пока у вас нет прав на запись." & _Chr (13) и Chr (13) & «Выберите файл, Сохранить как, чтобы сохранить копию, прежде чем работать с этим файлом». & vbNewLine & vbNewLine & «Вы понимаете?», vbExclamation + vbYesNo, «ВНИМАНИЕ!»)Если answer = vbNo Then GoTo RepeatMsg 'Повторять, пока пользователь не нажмет «Да»Конец подписки

VBA Перейти к метке строки в Access VBA

Все приведенные выше примеры работают в Access VBA точно так же, как и в Excel VBA.

1234567 Sub TestGoTo ()При ошибке GoTo заканчиваетсяDoCmd.OpenForm "FrmClients"Выйти из подводной лодкиокончание:MsgBox «Невозможно открыть форму»Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave