Jeśli nie znasz jeszcze obsługi błędów, zalecamy najpierw zapoznać się z tym przykładem. Gdy błąd w Excel VBA występuje, właściwości Błąd obiektu są wypełnione informacjami.
Sytuacja:
Poniższy program oblicza pierwiastek kwadratowy z liczb.
1. Umieść przycisk polecenia w arkuszu i dodaj następujące wiersze kodu:
Dim rng As Range, komórka As Range
Ustaw rng = Wybór
Dla każdej komórki w rng
W przypadku błędu przejdź do nieprawidłowej wartości:
komórka.Wartość = Sqr(komórka.Wartość)
Następna komórka
Wyjście Sub
Niewłaściwa wartość:
MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address
Wznów Dalej
Wynik po wybraniu Zakres("B2:B6") i kliknięciu przycisku polecenia na arkuszu:
Objaśnienie: gdy wystąpi błąd, właściwość number obiektu Err jest wypełniana unikalnym numerem bieżącego błędu, a właściwość Description jest wypełniana opisem bieżącego błędu.
2. Te opisy mogą nie być zbyt pomocne dla użytkowników twojego programu. Możesz sprawić, że komunikaty o błędach będą bardziej przyjazne dla użytkownika, modyfikując ostatnią część makra w następujący sposób:
Niewłaściwa wartość:
Wybierz numer błędu sprawy
Wielkość liter = 5
MsgBox "Nie można obliczyć pierwiastka kwadratowego z liczby ujemnej w komórce" & cell.Adres
Wielkość liter = 13
MsgBox "Nie można obliczyć pierwiastka kwadratowego tekstu w komórce " & cell.Adres
Koniec Wybierz
Wznów Dalej
Wskazówka: przejrzyj nasz program Select Case, aby dowiedzieć się więcej o strukturze Select Case.
Wynik: