VBA GoTo a Line Label

Prohlášení GoTo ve VBA vám umožňuje přeskočit na řádek kódu.

Nejprve vytvořte popisek řádku kdekoli v kódu:

1 Přeskočit:

Poté přidejte do příkazu „GoTo“ a přeskočte na popisek řádku

1 Přejít na GoTo

GoTo Příklady

Tento příklad testuje rok. Pokud je rok 2022 nebo novější, přejde na označení řádku Přeskočit. To vám umožní přeskočit kód, pokud jsou splněny určité podmínky.

123456789101112 Sub GoTo_Example ()Dim rok jako celé číslorok = 2019If year> = 2019 Then GoTo Skip„Procesní data za roky <2022MsgBox „Rok je před rokem 2022“Přeskočit:End Sub

Štítky GoTo s více řádky

Pomocí příkazů GoTo můžete také přeskočit na příslušné řádky kódu. Upravme náš předchozí příklad tak, abychom přešli na různá umístění kódu podle toho, o který rok jde:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Dim rok jako celé číslorok = 2019Pokud rok = 2019 PakPřejít na rok2019Jinak rok = 2010 PotomPřejít na rok 2020JinýPřejít na rok 2021Konec Ifrok2019:„Proces 2022MsgBox „Rok je 2022“GoTo EndProcrok 2020:„Proces 2022MsgBox „Rok je 2022“GoTo EndProcrok 2021:„Proces 2022+MsgBox „Rok je 2022+“EndProc:End Sub

Před štítkem každého řádku si všimněte „GoTo EndProc“. Tento řádek kódu jsme přidali, aby byly tyto části kódu přeskočeny, pokud k nim nebude přistupovat příslušný „GoTo“.

Obsluha chyby GoTo Konec procedury

Nyní použijeme zpracování chyb, abychom v případě chyby přešli na konec postupu.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerPři chybě GoTo EndProci = 5/0MsgBox iEndProc:End Sub

GoTo Opakujte kód

Náš poslední příklad použije příkaz GoTo k zopakování nějakého kódu.

Níže používáme schránku zpráv Ano / Ne (kliknutím se dozvíte více) k potvrzení, že uživatel upozornění bere na vědomí. Pokud kliknou na „Ne“, zobrazí se okno se zprávou znovu, dokud nekliknou na „Ano“ (viz GIF níže).

1234567891011 Sub GoTo_YesNoMsgBox ()Opakovaná zpráva:Dim odpověď jako celé čísloanswer = MsgBox ("UPOZORNĚNÍ: Tento soubor byl otevřen jako soubor jen pro čtení, což znamená, že všechny provedené změny nebudou uloženy, dokud/dokud nebudete mít přístupová práva pro zápis." & _Chr (13) & Chr (13) & "Vyberte Soubor, Uložit jako a uložte kopii před prací v tomto souboru." & vbNewLine & vbNewLine & „Rozumíte?“, vbExclamation + vbYesNo, „UPOZORNĚNÍ!“)If answer = vbNo Then GoTo RepeatMsg 'Opakujte, dokud uživatel neklikne na „Ano“End Sub

VBA GoTo a Line Label v Access VBA

Všechny výše uvedené příklady fungují v Access VBA úplně stejně jako v Excelu VBA.

1234567 Dílčí testovací cíl ()Při chybě GoTo končíDoCmd.OpenForm "FrmClients"Ukončit dílčíkonec:MsgBox "Nelze otevřít formulář"End Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave