ГоТо изјава у ВБА вам омогућава да пређете на ред кода.
Прво направите ознаку линије било где у свом коду:
1 | Прескочи: |
Затим додајте наредби „ГоТо“ да бисте прешли на ознаку линије
1 | ГоТо Скип |
Иди на примере
Овај пример тестира годину. Ако је година 2022. или касније, отићи ће до ознаке прескочене линије. Ово вам омогућава да прескочите код ако су испуњени одређени услови.
123456789101112 | Суб ГоТо_Екампле ()Дим иеар Ас Интегергодина = 2019Ако је година> = 2019, онда идите на Прескочи'Подаци процеса за године <2022МсгБок "Година је пре 2022"Прескочи:Енд Суб |
Иди на више ознака линија
Такође можете користити ГоТо наредбе за прелазак на релевантне редове кода. Прилагодимо наш претходни пример да одемо на различите локације кода на основу године:
1234567891011121314151617181920212223242526272829303132 | Суб ГоТо_Статемент ()Дим иеар Ас Интегергодина = 2019Ако је година = 2019. ТадаИдемо 2019Остале године = 2010 ЗатимИдемо до 2020ИначеИдемо до 2021Крај Ако2019 година:'Процес 2022МсгБок "Година је 2022"ГоТо ЕндПроц2020. година:'Процес 2022МсгБок "Година је 2022"ГоТо ЕндПроц2021. година:„Процес 2022+МсгБок "Година је 2022+"ЕндПроц:Енд Суб |
Обратите пажњу на „ГоТо ЕндПроц“ пре сваке ознаке линије. Додали смо овај ред кода тако да се ти одељци кода прескачу осим ако им не приступи одговарајући „ГоТо“.
ГоТо Еррор Хандлер Крај процедуре
Користимо Еррор Хандлинг за прелазак на крај поступка ако дође до грешке.
123456789101112 | Суб ГоТо_ОнЕррор ()Дим и Ас ИнтегерУкључено Грешка ГоТо ЕндПроци = 5 /0МсгБок иЕндПроц:Енд Суб |
Иди на понављање кода
Наш последњи пример ће користити ГоТо Статемент за понављање неког кода.
У наставку користимо Да / Не оквир за поруке (кликните да бисте сазнали више) да потврдимо да корисник признаје упозорење. Ако кликну на „Не“, оквир за поруку ће се поново приказивати све док не кликну на „Да“ (погледајте ГИФ испод).
1234567891011 | Суб ГоТо_ИесНоМсгБок ()Понови поруку:Затамњен одговор Као цео бројансвер = МсгБок ("УПОЗОРЕЊЕ: Ова датотека је отворена као датотека само за читање, што значи да све ваше измене неће бити сачуване ако/док не имате права приступа за писање." & _Цхр (13) & Цхр (13) & "Одаберите Филе, СавеАс да бисте сачували копију пре рада у овој датотеци." & вбНевЛине & вбНевЛине & "Да ли разумете?", вбЕкцламатион + вбДаНе, "УПОЗОРЕЊЕ!")Ако је одговор = вбНе, онда идите на ПоновиМсг „Понављај док корисник не кликне„ Да “Енд Суб |
ВБА ГоТо а Лине Лабел ин Аццесс ВБА
Сви горе наведени примери раде потпуно исто у Аццесс ВБА као и у Екцел ВБА.
1234567 | Под ТестГоТо ()Укључено Грешка ГоТо се завршаваДоЦмд.ОпенФорм "ФрмЦлиентс"Екит Субзавршетак:МсгБок "Није могуће отворити образац"Енд Суб |