Kontrola błędów

Komunikat o błędzie
Podczas kompilacji kodu makra w VBA często natrafiamy na przeróżne błędy. W przypadku, gdy chcemy by po ich wystąpieniu pojawił się odpowiedni komunikat można zastosować kod analogiczny do poniższego:

Sub Przycisk1_Kliknięcie()
Dim a As Integer
On Error GoTo Komunikat
MsgBox (Range("A1").Value + Range("A2").Value)
MsgBox ("Kolejny krok")
Exit Sub
Komunikat:
MsgBox ("Błąd")
End Sub

Rezultat:

  • Brak błędu
    Er1

    Er2
  • Błąd
    Er3

    Er4

Uwaga: w tym przypadku procedura zatrzymujemy się w momencie wystąpienia błędu

Kontynuowanie pracy makra mimo błędu
W momencie, gdy chcemy by wystąpienie błędu nie było w ogóle brane pod uwagę musimy zmodyfikować kod następująco:

Sub Przycisk1_Kliknięcie()
Dim a As Integer
On Error Resume Next
MsgBox (Range("A1").Value + Range("A2").Value)
MsgBox ("Kolejny krok")
End Sub

Rezultat:

Er3

Er5

Tags: