VBA: n GoTo -lausekkeen avulla voit siirtyä koodiriville.
Luo ensin rivinimi missä tahansa koodissasi:
1 | Ohita: |
Siirry sitten "GoTo" -lausekkeeseen siirtyäksesi rivin tarraan
1 | GoTo Skip |
GoTo -esimerkkejä
Tämä esimerkki testaa vuotta. Jos vuosi on 2022 tai uudempi, se siirtyy Ohita rivi -merkintään. Tämän avulla voit ohittaa koodin, jos tietyt ehdot täyttyvät.
123456789101112 | Sub GoTo_Example ()Hämärä vuosi kokonaislukunavuosi = 2019Jos vuosi> = 2019 niin GoTo Skip'Prosessitiedot vuosilta <2022MsgBox "Vuosi on ennen vuotta 2022"Ohita:End Sub |
GoTo -moniriviset tarrat
Voit myös käyttää GoTo -lausekkeita hypätäksesi asiaankuuluville koodiriveille. Muokataan edellistä esimerkkiämme siirtyäksesi eri koodipaikkoihin sen mukaan, mikä vuosi se on:
1234567891011121314151617181920212223242526272829303132 | Sub GoTo_Statement ()Hämärä vuosi kokonaislukunavuosi = 2019Jos vuosi = 2019 niin sittenSiirry vuoteen 2019MuutenJos vuosi = 2010 SittenSiirry vuoteen 2020MuuSiirry vuoteen 2021Loppu Josvuosi 2019:'Prosessi 2022MsgBox "Vuosi on 2022"GoTo EndProcvuosi 2020:'Prosessi 2022MsgBox "Vuosi on 2022"GoTo EndProcvuosi 2021:'Prosessi 2022+MsgBox "Vuosi on 2022+"EndProc:End Sub |
Huomaa ”GoTo EndProc” ennen jokaista rivitarraa. Lisäsimme tämän koodirivin, jotta nämä koodiosat ohitetaan, ellei GoTo pääse niihin käsiksi.
GoTo -virhekäsittelijä Menettelyn loppu
Käytämme nyt virheenkäsittelyä siirtyäksesi toimenpiteen loppuun, jos tapahtuu virhe.
123456789101112 | Sub GoTo_OnError ()Dim i Kuten kokonaislukuVirhe GoTo EndProci = 5 /0MsgBox iEndProc:End Sub |
GoTo Toista koodi
Viimeisessä esimerkissämme käytetään GoTo -lauseketta jonkin koodin toistamiseen.
Käytämme alla Kyllä / Ei -viestilaatikkoa (napsauta saadaksesi lisätietoja) vahvistaaksesi, että käyttäjä hyväksyy varoituksen. Jos he napsauttavat Ei, viestiruutu näytetään uudelleen, kunnes he napsauttavat Kyllä (katso GIF alla).
1234567891011 | Sub GoTo_YesNoMsgBox ()Toista viesti:Hämärä vastaus kokonaislukunaanswer = MsgBox ("VAROITUS: Tämä tiedosto avattiin vain luku-tiedostona, joten tekemiäsi muutoksia ei tallenneta, ellei/ennen kuin sinulla on kirjoitusoikeudet." & _Chr (13) & Chr (13) & "Valitse tiedosto, SaveAs tallentaaksesi kopion ennen työskentelyä tässä tiedostossa." & vbNewLine & vbNewLine & "Ymmärrätkö?", vbTarkistus + vbKylläEi, "VAROITUS!")Jos vastaus = vbEi sitten Siirry ToistaMsg 'Toista kunnes käyttäjä napsauttaa "Kyllä"End Sub |
VBA GoTo Line Label Access VBA: ssa
Kaikki yllä olevat esimerkit toimivat täsmälleen samalla tavalla Access VBA: ssa kuin Excel VBA: ssa.
1234567 | AlatestiGoTo ()Virhe GoTo päättyyDoCmd.OpenForm "FrmClients"Lopeta Subloppu:MsgBox "Lomaketta ei voi avata"End Sub |