Celowe wywołanie błędu w kodzie makra pozwala nam świadomie sterować naszą aplikacją. Instrukcja On Error Resume Next ignoruje błędy, ale dzięki niej możemy w kodzie przejść dalej i sprawdzić czy wystąpił błąd. Instrukcja Err.Raise pozwala nam z kolei zgłosić własny błąd i dzięki temu przerwać działanie programu. Korzyści Błędu Na pierwszy rzut oka temat może się wydawać nieco absurdalny. Bugi są przecież czymś niepożądanym i chcemy […]
Centralna Obsługa Błędów
Centralna obsługa błędów to zaawansowany sposób obsługiwania błędów w aplikacjach VBA. Jej głównym zadaniem jest przerwanie działania aplikacji, bez względu na to, w której linii kodu wystąpił błąd. Idea Centralnej Obsługi Błędów Jakkolwiek nazwa zagadnienia brzmi dosyć „groźnie”, tak w gruncie rzeczy chodzi o właściwą reakcję na błąd, który pojawił się w dowolnym miejscu w kodzie. Poprzez “właściwą reakcję” mam na myśli: Przerwanie makra. Wyświetlenie okienka z dokładną informacją o błędzie. […]
Błędy w VBA
Błędy w VBA mogą pojawiać się na każdym etapie pracy z aplikacją – w trakcie pisania kodu, podczas kompilacji projektu, przy debugowaniu lub w trybie uruchomienia. Są one zawsze cennym źródłem informacji i nie powinniśmy ich nigdy ignorować. Skąd Wziął Się Bug? W żargonie programistycznym błąd często nazywany jest pluskwą (z ang. bug). Określenie to wzięło się z czasów pierwszego komputera stworzonego w większej skali. Przyczyną tego, że komputer […]
Instrukcja On Error GoTo -1
W tym artykule wyjaśnię na czym polega instrukcja On Error GoTo -1 i czy jest sens jej używać w aplikacjach EXCEL/VBA. Wpis dedykowany jest głównie dla osób znających VBA w stopniu zaawansowanym. On Error GoTo … vs. Err.Clear Polecenie On Error GoTo -1 nie jest tym samym, co Err.Clear czy On Error GoTo 0, chociaż instrukcje te mają ze sobą wiele wspólnego. Każda z nich czyści obiekt Err – zostają […]
Instrukcje Typu On Error
Polecenie On Error występuje w VBA pod kilkoma różnymi postaciami. W gruncie rzeczy chodzi jednak o zmianę reakcji kompilatora na wypadek błędu. Błąd może zostać zignorowany, może nas przenieść do konkretnej etykiety lub może przywrócić domyślny sposób traktowania błędów.W tym artykule opiszę kiedy powinniśmy używać poszczególnych instrukcji. On Error Resume Next Polecenie, które nakazuje ignorować wszystkie błędy i wykonywać dalsze linie kodu. Jest to instrukcja, […]