VBA GoTo a Line Label

VBA GoTo avaldus võimaldab teil hüpata koodireale.

Esmalt looge reasilt oma koodi kõikjal:

1 Vahele jätma:

Seejärel lisage „GoTo” avaldusele, et hüpata rea ​​sildile

1 GoTo vahele

GoTo näited

See näide testib aastat. Kui aasta on 2022 või hilisem, läheb see sildile GoTo Skip line. See võimaldab teatud tingimuste täitmisel koodi üle jätta.

123456789101112 Sub GoTo_Example ()Hämar aasta Nagu täisarvaasta = 2019Kui aasta> = 2019, siis minge vahele„Töötle andmeid aastate kohta <2022MsgBox "Aasta on enne aastat 2022"Vahele jätma:End Sub

GoTo mitme rea sildid

Võite kasutada ka GoTo avaldusi, et hüpata asjakohastele koodiridadele. Kohandame oma eelmist näidet, et minna erinevatesse koodikohtadesse vastavalt sellele, mis aasta see on:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Hämar aasta Nagu täisarvaasta = 2019Kui aasta = 2019 siisMine aastasse 2019MuiduKui aasta = 2010 SiisMine aastasse 2020MuiduMine aastani 2021Lõpp Kuiaasta 2019:„Protsess 2022MsgBox "Aasta on 2022"GoTo EndProcaasta 2020:„Protsess 2022MsgBox "Aasta on 2022"GoTo EndProcaasta 2021:„Protsess 2022+MsgBox "Aasta on 2022+"EndProc:End Sub

Märkige enne iga rea ​​silti „GoTo EndProc”. Lisasime selle koodirida nii, et need koodiosad jäetakse vahele, kui neile ei pääse juurde vastav „GoTo”.

GoTo veakäitleja protseduuri lõpp

Kasutame nüüd veahalduse abil vea ilmnemisel protseduuri lõppu.

123456789101112 Alam GoTo_OnError ()Dim i As täisarvViga GoTo EndProci = 5 /0MsgBox iEndProc:End Sub

GoTo korduskood

Meie viimane näide kasutab GoTo avaldust mõne koodi kordamiseks.

Allpool kasutame jah / ei sõnumikasti (lisateabe saamiseks klõpsake), et kinnitada, et kasutaja hoiatuse tunnistab. Kui nad klõpsavad „Ei”, kuvatakse sõnumikast uuesti, kuni nad klõpsavad „Jah” (vt GIF -i allpool).

1234567891011 Sub GoTo_YesNoMsgBox ()Korda sõnumit:Hämar vastus täisarvunaanswer = MsgBox ("HOIATUS: See fail avati kirjutuskaitstud failina, mis tähendab, et teie tehtud muudatusi ei salvestata enne, kui teil on kirjutusõigused." & _Chr (13) & Chr (13) & "Valige fail, SaveAs, et salvestada koopia enne selles failis töötamist." & vbNewLine & vbNewLine & "Kas saate aru?", vbTõend + vbJahEi, "HOIATUS!")Kui vastus = vbEi, siis minge Korda kordust MSg 'Korda, kuni kasutaja klõpsab "Jah"End Sub

VBA GoTo Line Silt Access VBA -s

Kõik ülaltoodud näited töötavad Access VBA -s täpselt samamoodi nagu Excel VBA -s.

1234567 Sub TestGoTo ()Viga GoTo lõpetamineDoCmd.OpenForm "FrmClients"Välju sublõpp:MsgBox "Vormi ei saa avada"End Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave