VBA GoTo a Line Label

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

Спочатку створіть мітку рядка у будь -якому місці коду:

1 Пропустити:

Потім додайте до оператора “GoTo”, щоб перейти до мітки рядка

1 Перейти до пропуску

Перейти до прикладів

Цей приклад перевіряє рік. Якщо рік 2022 або пізніший, він перейде до мітки рядка пропуску. Це дозволяє пропустити код, якщо виконуються певні умови.

123456789101112 Sub GoTo_Example ()Темний рік як ціле числорік = 2019Якщо рік> = 2019 Тоді перейти до переходу'Дані процесу за роки <2022MsgBox "Рік до 2022 року"Пропустити:End Sub

Перейти до багаторядкових міток

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

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Темний рік як ціле числорік = 2019Якщо рік = 2019 ТодіПерейти до 2019 рокуЯкщо інший рік = 2010 ТодіПерейти до 2020 рокуІнакшеПерейти до 2021 рокуЗакінчити Якщо2019 рік:«Процес 2022Повідомлення "Рік 2022"Перейти до EndProc2020 рік:«Процес 2022Повідомлення "Рік 2022"Перейти до EndProc2021 рік:«Процес 2022+MsgBox "Рік 2022+"EndProc:End Sub

Зверніть увагу на "GoTo EndProc" перед кожною міткою рядка. Ми додали цей рядок коду, щоб ці розділи коду пропускалися, якщо вони не доступні відповідним "GoTo".

Обробник помилок GoTo Кінець процедури

Тепер давайте скористаємося обробкою помилок, щоб перейти до кінця процедури, якщо є помилка.

123456789101112 Sub GoTo_OnError ()Dim i як ціле числоПро помилку Перейти до EndProci = 5/0MsgBox iEndProc:End Sub

Перейти до повторення коду

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

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

1234567891011 Sub GoTo_YesNoMsgBox ()Повторити повідомлення:Нечітка відповідь Як ціле числоanswer = MsgBox ("ПОПЕРЕДЖЕННЯ: Цей файл був відкритий як файл" Лише для читання ", тобто будь-які внесені вами зміни не будуть збережені, якщо/поки у вас немає прав на запис". & _Chr (13) & Chr (13) & "Виберіть Файл, Зберегти Як, щоб зберегти копію, перш ніж працювати з цим файлом." & vbNewLine & vbNewLine & "Ви розумієте?", vbExclamation + vbТак, "УВАГА!")Якщо відповідь = vbНі Тоді Перейти до Повторення Повідомлення "Повторювати, поки користувач не натисне" Так "End Sub

VBA GoTo a Line Label у Access VBA

Усі наведені вище приклади працюють точно так само в Access VBA, як і в Excel VBA.

1234567 Sub TestGoTo ()Помилка Помилка завершення роботиDoCmd.OpenForm "FrmClients"Вийти з підпзакінчення:MsgBox "Неможливо відкрити форму"End Sub

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

wave wave wave wave wave