Makra programu Excel - debugowanie kodu
Dowiedziałeś się, że makro jest przechowywane jako kod VBA w programie Excel. Dowiedziałeś się również, że możesz bezpośrednio pisać kod, aby utworzyć makro w edytorze VBA. Jednak, podobnie jak w przypadku każdego kodu, nawet kod makra może mieć defekty, a makro może nie działać zgodnie z oczekiwaniami.
Wymaga to zbadania kodu w celu znalezienia usterek i ich usunięcia. Terminem używanym na określenie tej czynności w tworzeniu oprogramowania jest debugowanie.
Debugowanie VBA
Edytor VBA umożliwia wstrzymanie wykonywania kodu i wykonanie dowolnego wymaganego zadania debugowania. Poniżej przedstawiono niektóre z zadań debugowania, które możesz wykonać.
- Przechodzenie przez kod
- Korzystanie z punktów przerwania
- Tworzenie kopii zapasowych lub przechodzenie do przodu w kodzie
- Nie przechodzenie przez każdą linię kodu
- Zapytanie o cokolwiek podczas przechodzenia przez kod
- Wstrzymanie wykonania
To tylko niektóre z zadań, które możesz wykonać w środowisku debugowania VBA.
Przechodzenie przez Kodeks
Pierwszą rzeczą, którą musisz zrobić, aby debugować, jest przejście przez kod podczas jego wykonywania. Jeśli masz pojęcie, która część kodu prawdopodobnie powoduje defekt, możesz przeskoczyć do tego wiersza kodu. W przeciwnym razie możesz wykonać kod linia po linii, tworząc kopię zapasową lub przechodząc do przodu w kodzie.
Możesz wejść do kodu z okna dialogowego Makro w skoroszycie lub z samego edytora VBA.
Stepping into the code from the workbook
Aby przejść do kodu ze skoroszytu, wykonaj następujące czynności -
- Kliknij kartę WIDOK na Wstążce.
- Kliknij Makra.
- Wybierz Wyświetl makra z listy rozwijanej.
Pojawi się okno dialogowe Makro.
- Kliknij nazwę makra.
- Kliknij przycisk Wejdź do.
Otworzy się edytor VBA, a kod makra pojawi się w oknie kodu. Pierwsza linia kodu makra zostanie podświetlona na żółto.
Stepping into the code from the VBA editor
Aby wejść do kodu z edytora VBA, wykonaj następujące czynności -
- Kliknij kartę DEWELOPER na Wstążce.
- Kliknij opcję Visual Basic. Otworzy się edytor VBA.
- Kliknij moduł zawierający kod makra.
Kod makra pojawi się w oknie kodu.
Kliknij kartę Debugowanie na Wstążce.
Wybierz Step into z listy rozwijanej.
Podświetlona zostanie pierwsza linia kodu makra. Kod jest w trybie debugowania, a opcje na liście rozwijanej Debuguj staną się aktywne.
Tworzenie kopii zapasowych lub przechodzenie do przodu w kodzie
W kodzie można poruszać się do przodu lub do tyłu, wybierając opcję Step Over lub Step Out.
Nie przechodzenie przez każdą linię kodu
Możesz uniknąć przechodzenia przez każdy kod wiersza, jeśli zidentyfikujesz potencjalną część kodu, która wymaga omówienia, wybierając opcję Uruchom do kursora.
Korzystanie z punktów przerwania
Alternatywnie możesz ustawić punkty przerwania w określonych wierszach kodu i wykonać kod, obserwując wyniki w każdym punkcie przerwania. Możesz przełączyć punkt przerwania i wyczyścić wszystkie punkty przerwania, jeśli i kiedy jest to wymagane.
Korzystanie z zegarka
Możesz dodać obserwację podczas debugowania, aby ocenić wyrażenie i zatrzymać wykonywanie, gdy zmienna osiągnie określoną wartość. Oznacza to, że konfigurujesz wyrażenie obserwujące, które będzie monitorowane, aż stanie się prawdą, a następnie makro zatrzyma się i pozostawi w trybie przerwania. VBA oferuje kilka typów zegarków do wyboru, aby osiągnąć to, czego szukasz.
Wstrzymanie wykonania
Jeśli podczas debugowania w dowolnym momencie znajdziesz wskazówkę, co się dzieje nie tak, możesz zatrzymać wykonywanie, aby dalej odszyfrować.
Jeśli jesteś doświadczonym programistą, terminologia debugowania jest Ci znana, a opcje debugowania edytora VBA ułatwiają Ci życie. W przeciwnym razie opanowanie tej umiejętności nie zajmie dużo czasu, jeśli nauczyłeś się języka VBA i rozumiesz kod.