Błędy w VBA po uruchomieniu kompilatora
Specjalna obsługa błędów uruchamiana przy pomocy polecenia On Error pozwala świadomie kontrolować błędy występujące podczas pracy kompilatora. Polecenie to wstawiaj przed linijką kodu, która może wywołać błąd, jeśli warunki nie będą pozwalały na jego wykonanie. Na przykładzie programu powodującego przejście do kolejnego arkusza pokażę Ci w jaki sposób działa polecenie On Error.
On Error Resume Next
On Error Resume Next to polecenie, które powoduje ignorowanie wszystkich błędów występujących po tej linijce kodu. Jeśli użyjesz go w swoim makrze, możesz wykorzystać obiekt Err, który przyjmuje wartość odpowiadającą występującemu błędowi.
On Error GoTo NazwaEtykiety
On Error GoTo NazwaEtykiety to metoda, która sprawia, że w przypadku wystąpienia błędu kompilator przechodzi do wykonywania przygotowanej etykiety. Ten kawałek programu powinien być poprzedzony poleceniem Exit Sub. Jeśli go zabraknie, to nawet pomimo braku błędu, etykieta i tak się wykona.
On Error GoTo 0
On Error GoTo 0 jest poleceniem powodującym powrót do standardowej obsługi błędów, które będą przerywały pracę kompilatora.
Polecenie Resume
Kiedy stosujesz etykietę możesz dopisać w niej na końcu polecenie Resume, które spowoduje powrót kompilatora do miejsca, w którym wywołany został błąd i użycie tej linijki kodu jeszcze raz. Poniżej przykład zdarzenia zapisującego plik przed zamknięciem we wskazanej lokalizacji.
Kiedy kompilator wygeneruje błąd spowodowany brakiem folderu Nowy, uruchomiona zostanie etykieta tworząca nowy folder, po czym ponownie zostanie uruchomiona linijka zapisująca plik we wskazanej lokalizacji.