VBA Exit Sub sau Function

În VBA, puteți ieși dintr-un Sub sau Funcție, utilizând Ieșiți din Sub sau Funcția de ieșire comenzi.

1 Ieșiți din Sub
1 Funcția de ieșire

Când vine executarea codului la Ieșiți din Sub sau Funcția de ieșire, va ieși dintr-un Sub sau Funcție și va continua cu orice altă execuție de cod.

Dacă doriți să aflați cum să ieșiți dintr-un Sub pe eroare, faceți clic pe acest link: VBA On Error Exit Sub

Dacă doriți să aflați cum să încheiați o execuție a întregului cod, faceți clic pe acest link: VBA End

Ieșiți dintr-un Sub în VBA

Veți vedea pe exemplu ce se întâmplă când folosim Ieșiți din Sub comandă într-un Sub. Am creat un Sub ExitSub, care are Ieșiți din Sub comanda în interior. SubCallExitSub numește acest Sub. Iată codul:

123456789101112131415161718 Private Sub ExitSub ()Dim i IntegerPentru i = 1 până la 10Dacă i = 5 AtunciIeșiți din SubMsgBox „Valoarea lui i este„ & iEnd IfApoi euSfârșitul SubApel sub privat ExitSub ()Apelați ExitSubMsgBox „Exit Sub”Sfârșitul Sub

În ExitSub, mai întâi introducem For Loop dacă valoarea lui i este mai mică de 10:

123 Pentru i = 1 până la 10Apoi eu

După aceea, verificăm dacă valoarea lui i este egală cu 5, folosind comanda If. Dacă valoarea este 5, vrem să ieșim din Sub și să returnăm caseta Mesaj cu valoarea i:

1234 Dacă i = 5 AtunciIeșiți din SubMsgBox „Valoarea lui i este„ & iEnd If

Dacă condiția nu este îndeplinită, următoarea instrucțiune crește i cu 1 și intră din nou în bucla For:

1 Apoi eu

În CallExitSub, numim mai întâi Sub ExitSub:

1 Apelați ExitSub

După aceea returnăm caseta Mesaj:

1 MsgBox „Exit Sub”

Dacă rulați CallExitSub, va apela mai întâi ExitSub. Dacă executați acest cod în modul de depanare, veți vedea că acesta va trece prin buclă de 5 ori. În 5a iterație, valoarea variabilei i devine 5 și codul intră în corpul If. Acum, Sub ExitSub este ieșit și returnat la CallExitSub. Următoarea linie este MsgBox „Exit Sub”:

După cum puteți vedea, ExitSub este ieșit imediat după Ieșiți din Sub comanda, deci MsgBox „Valoarea lui i este” & i nu va fi niciodată executat.

Ieșiți dintr-o funcție în VBA

Ieșirea unei funcții în VBA este similară cu ieșirea dintr-un Sub, doar comanda este Funcția de ieșire. În exemplu, am creat fișierul ExitFunc care returnează un număr întreg. Sub CallExitFunction numește această funcție. Iată codul:

1234567891011121314151617181920 Funcție privată ExitFunc () ca întregDim i IntegerPentru i = 1 până la 10Dacă i = 5 AtunciExitFunc = iFuncția de ieșireEnd IfApoi euFuncția de sfârșitPrivate Sub CallExitFunction ()Dim intFunc Ca întregintFunc = ExitFunction ()MsgBox "Valoarea intFunc este" & intFuncSfârșitul Sub

În ExitFunc, mai întâi introducem For Loop dacă valoarea lui i este mai mică de 10:

123 Pentru i = 1 până la 10Apoi eu

După aceea, verificăm dacă valoarea lui i este egală cu 5, folosind comanda If. Dacă valoarea este 5, atribuim valoarea i rezultatului funcției și ieșim din funcție:

1234 Dacă i = 5 AtunciExitFunc = iFuncția de ieșireEnd If

Dacă condiția nu este îndeplinită, următoarea instrucțiune crește i cu 1 și intră din nou în bucla For:

1 Apoi eu

În CallExitFunction, numim mai întâi funcția ExitFunc: Pentru a face acest lucru, trebuie să declarăm variabila intFunc tastați întreg și atribuiți rezultatul ExitFunc funcționează:

123 Dim intFunc Ca întregintFunc = ExitFunction ()

După aceea returnăm caseta Mesaj cu valoarea intFunc:

1 MsgBox "Valoarea intFunc este" & intFunc

Dacă rulați CallExitFunction, va apela mai întâi funcția ExitFunc. Dacă executați acest cod în modul de depanare, veți vedea că acesta va trece prin buclă de 5 ori. În 5a iterație, valoarea variabilei i devine 5 și codul intră în corpul If. Acum valoarea ExitFunc devine i și funcția este ieșită și returnată la CallExitFunction. Următoarea linie este MsgBox „Valoarea intFunc este” & intFunc:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave