„GoTo“ pareiškimas VBA leidžia pereiti prie kodo eilutės.
Pirmiausia sukurkite eilutės etiketę bet kurioje kodo vietoje:
1 | Praleisti: |
Tada pridėkite prie „GoTo“ teiginio, kad pereitumėte prie eilutės etiketės
1 | „GoTo Skip“ |
„GoTo“ pavyzdžiai
Šis pavyzdys išbando metus. Jei metai yra 2022 ar vėlesni, tai bus „GoTo the Skip line“ etiketė. Tai leidžia praleisti kodą, jei įvykdomos tam tikros sąlygos.
123456789101112 | Antrasis „GoTo_Example“ ()Šviesūs metai kaip sveikasis skaičiusmetai = 2019 mJei metai> = 2019 m., Tada „GoTo Skip“„Duomenų apdorojimas metams <2022„MsgBox“ Metai yra prieš 2022 m.Praleisti:Pabaiga Sub |
„GoTo“ kelių eilučių etiketės
Taip pat galite naudoti „GoTo“ teiginius, norėdami pereiti prie atitinkamų kodo eilučių. Pakoreguokime ankstesnį pavyzdį, kad pereitume į skirtingas kodo vietas, atsižvelgiant į tai, kuriais metais jie yra:
1234567891011121314151617181920212223242526272829303132 | Sub GoTo_Statement ()Nežymūs metai kaip sveikasis skaičiusmetai = 2019 mJei metai = 2019 mEiti į 2019 metusKiti metai = 2010 TadaIki 2020 metųKitasPrieš 2021 metusPabaiga Jei2019 metai:„Procesas 2022 m„MsgBox“ metai yra 2022 m.„GoTo EndProc“2020 metai:„Procesas 2022 m„MsgBox“ metai yra 2022 m.„GoTo EndProc“2021 metai:„Procesas 2022+„MsgBox“ metai yra 2022 ir daugiau metų„EndProc“:Pabaiga Sub |
Prieš kiekvieną eilutės etiketę atkreipkite dėmesį į „GoTo EndProc“. Pridėjome šią kodo eilutę, kad tos kodo sekcijos būtų praleistos, nebent jas pasiektų atitinkamas „GoTo“.
„GoTo“ klaidų tvarkyklės procedūros pabaiga
Dabar, jei yra klaida, naudokimės klaidų tvarkymu, kad užbaigtume procedūrą.
123456789101112 | Sub GoTo_OnError ()Dim i As IntegerDėl klaidos „GoTo EndProc“i = 5 /0„MsgBox“ i„EndProc“:Pabaiga Sub |
„GoTo“ pakartoti kodą
Paskutiniame mūsų pavyzdyje bus naudojamas „GoTo“ pareiškimas, kad būtų pakartotas tam tikras kodas.
Žemiau naudojame „Taip“ / „Ne“ pranešimų dėžutę (spustelėkite, jei norite sužinoti daugiau), kad patvirtintumėte, jog vartotojas patvirtina įspėjimą. Jei jie spustelės „Ne“, pranešimų langas bus rodomas dar kartą, kol paspaus „Taip“ (žr. GIF žemiau).
1234567891011 | Sub GoTo_YesNoMsgBox ()Pakartokite Msg:Neryškus atsakymas kaip sveikasis skaičiusanswer = MsgBox ("ĮSPĖJIMAS: Šis failas buvo atidarytas kaip tik skaitomas failas, tai reiškia, kad visi jūsų atlikti pakeitimai nebus išsaugoti, kol/kol neturėsite rašymo prieigos teisių." & _Chr (13) & Chr (13) & "Pasirinkite failą, SaveAs, kad išsaugotumėte kopiją prieš pradėdami dirbti šiame faile." & vbNewLine & vbNewLine & "Ar supranti?", vbEksclamavimas + vbTaipNe, "ĮSPĖJIMAS!")Jei atsakymas = vbNe, tada eikite į „RepeatMsg“ Kartoti, kol naudotojas spustelės „Taip“Pabaiga Sub |
„VBA GoTo“ linijos etiketė „Access VBA“
Visi aukščiau pateikti pavyzdžiai „Access VBA“ veikia lygiai taip pat, kaip „Excel VBA“.
1234567 | Sub TestGoTo ()Klaida „GoTo“ baigiasiDoCmd.OpenForm "FrmClients"Išeiti iš Subpabaiga:„MsgBox“ nepavyksta atidaryti formosPabaiga Sub |