VBA: ssa voit ohjelmoida koodisi poistumaan Subista aina, kun virhe ilmenee. Käytä tätä Virhe GoTo ja Lopeta Sub.
On Error Goto kertoo VBA: lle, että kun Googlessa tapahtuu virhe koodin tietyssä osassa. Esimerkki:
1 | Virhe GoTo ErrorHandler |
Tämän osion sisällä voit sitten pyytää VBA: ta poistumaan Subista poistuaksesi alimenettelystä:
12 | ErrorHandler:Lopeta Sub |
Lue, niin näet nämä koodirivit toiminnassa …
Poistu alivirheestä VBA: ssa
Tässä esimerkissä tuotamme virheen jakamalla nollalla:
1 | i = 5 /0 |
Katso koko koodi alla. Kun VBA lukee virheen, se "siirtyy" koodin ErrorHandler -osioon ja poistuu:
123456789101112131415 | Alatestivirhe ()Dim i Kuten kokonaislukuVirhe GoTo ErrorHandleri = 5 /0'Tee jotain i: n kanssaMsgBox iLopeta SubErrorHandler:MsgBox "Jos virhe, poistu aliosasta"Lopeta SubEnd Sub |
Virheiden käsittelyn määrittämiseksi sinun on ensin ilmoitettava Virhe GoTo lausunto. Se on ilmoitettava alaosan alussa:
1 | Virhe GoTo ErrorHandler |
Tämän jälkeen sinun on ilmoitettava virheenkäsittelykoodi. Se on yleensä koodin lopussa:
123 | ErrorHandler:MsgBox "Jos virhe, poistu aliosasta"Lopeta Sub |
Lisäämme "Exit Sub" ErrorHandlerin yläpuolelle, koska haluamme suorittaa ErrorHandler -koodin vain virheen sattuessa.
12345 | Lopeta SubErrorHandler:MsgBox "Jos virhe, poistu aliosasta"Lopeta SubEnd Sub |
Jos käytät Subia, se tulee virheeseen, koska jako on nolla. Siinä vaiheessa suoritetaan virheenkäsittelykoodi. Viestiruutu tulee näkyviin ja Sub poistuu.
Kuva 1. VBA On Error Exit Sub
Jos haluat oppia lopettamaan koodin suorittamisen VBA: ssa, napsauta tätä linkkiä: VBA End
Jos haluat oppia poistumaan alitoiminnosta tai toiminnosta, napsauta tätä linkkiä: VBA Exit Sub tai Function