Wydruk debugowania VBA - Jak używać Debug.Print do analizowania danych wyjściowych kodu VBA?

Spisie treści

Excel VBA Debug.Print

Debug Print to jedno z przydatnych narzędzi prezentowanych w edytorze VBA, które pozwala dowiedzieć się, jak działa program i pomaga analizować zmiany wartości zmiennych utworzonych w programie VBA. Pokazuje dane wyjściowe okna zachęty, gdy uruchamiamy program bez żadnych błędów.

Debug.print oferuje dwie główne korzyści w porównaniu z użyciem Msgbox do wyświetlania danych wyjściowych kodu. Eliminuje potrzebę klikania przycisku OK za każdym razem i wyświetla dziennik zwróconych wartości wyjściowych w bezpośrednich oknach. Oszczędza dużo czasu użytkownikom. W niniejszym artykule wyjaśniono użycie programu Excel VBA Debug Print z wieloma przykładami i wyjaśniono, jak go używać, obejmując następujące rzeczy.

Co to jest VBA Debug Print?

Debugowanie to obiekt w języku VBA używany z dwiema metodami zwanymi Assert i Print. Wydruk jest pomocny w wyświetlanych komunikatach i pomaga w ocenie warunków. W VBA debuguj. Instrukcja print jest używana w dowolnym miejscu programu kodującego do wyświetlania wartości zmiennej lub komunikatów w oknie bezpośrednim. Nie wymagają one żadnego potwierdzenia ani potwierdzenia i nie mają żadnego wpływu na opracowany kod. Jest bezpieczny i najlepiej wykorzystany w kodzie w sytuacji ułatwienia dostępu wielu użytkownikom. Są one tylko pomocne w testowaniu lub ocenie kodu, aby potwierdzić, że działa on poprawnie, czy nie. Drukuje zmienne, ciągi znaków, liczby, tablicę, wartości w arkuszach programu Excel oraz puste i aktywne arkusze.

Jak korzystać z funkcji drukowania debugowania VBA w programie Excel?

VBA debug.print to instrukcja pomocna w wyświetlaniu większej liczby zmiennych naraz w bezpośrednim oknie. Jest to najlepsze i alternatywne podejście do pokazania wyniku.

Na przykład,

Debug. Liczba wydruków, suma, średnia, odchylenie standardowe

Jak pokazano w przykładzie, wszystkie zmienne są oddzielone przecinkami. Ta instrukcja może przenieść dane wyjściowe do bezpośredniego okna, nawet jeśli okno nie jest otwarte. Nie zatrzymuje wykonywania kodu, jak w Msgbox. Elastyczność ta wspiera ciągłe monitorowanie zmian danych wyjściowych dotyczących zmian w kodzie.

Liczba zmiennych, suma, średnia i odchylenie standardowe są wyświetlane w tym samym wierszu z równymi odstępami między nimi. Jeśli okno bezpośrednie nie jest otwarte, wykonaj następujące kroki, aby wyświetlić dane wyjściowe.

Kroki, aby otworzyć okno bezpośrednie i zobaczyć wynik

  • Naciśnij Ctrl + G lub kliknij menu „Widok” w edytorze VBA.
  • Wybierz opcję „Bezpośrednie okno”.
  • Umieść kursor w oknie i ponownie uruchom kod.
  • Obserwuj dane wyjściowe w oknie.

Przykłady programu Excel VBA Debug.Print

Poniżej znajdują się przykłady pokazujące użycie drukowania debugowania w programie Excel VBA.

Przykład 1 - wyświetlanie wartości zmiennych

Najpierw przejdź do zakładki Deweloper, kliknij Makra i utwórz makro, aby zapisać kod w VBA i dodać do niego nazwę.

Po dodaniu nazwy kliknij utwórz. Otworzy się edytor VBA.

Opracuj mały program, jak pokazano na rysunku.

Kod:

Sub Variables () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub

Jak pokazano na zrzucie ekranu, trzy wymiary lub zmienne są zmniejszane odpowiednio do X, Y i Z jako liczby całkowite, ciąg i Double. Aby wydrukować te wartości, używany jest plik Debug.print, a dane wyjściowe zostaną wyświetlone w oknie zachęty. Naciśnij CTRL + G, aby zobaczyć wynik, jak pokazano na zrzucie ekranu.

Uruchom ten kod za pomocą klawisza F5 i naciśnij klawisze CTRL + G, aby wyświetlić dane wyjściowe w oknie bezpośrednim.

Ten program można uprościć, oddzielając instrukcje debug-print przecinkiem.

Kod:

Sub Variables () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X, Y, Z End Sub

Ta instrukcja debugs drukuje dane wyjściowe w tym samym wierszu, jak pokazano na zrzucie ekranu.

Przykład # 2 - Debuguj drukowanie do pliku

Ten przykład ilustruje użycie drukowania debugowania VBA do wyświetlania danych wyjściowych do pliku, gdy długość tekstu jest zbyt duża.

Program do drukowania wyników w pliku jest rozwijany, jak pokazano na rysunku.

Kod:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Open "D: Articles Excel test.txt" Dla danych wyjściowych As #num s = "Witaj, świecie!" Debug.Print s 'zapisz do bezpośredniego okna Drukuj #num, s' zapisz wyjście do pliku Zamknij #num End Sub

W tym programie dwie zmienne o nazwach S i Num są traktowane jako łańcuch i liczba całkowita. Instrukcja open służy do tworzenia pliku tekstowego z testem nazwy. Kolumna o nazwie „Hello World” jest zadeklarowana w zmiennej S.

Po ręcznym uruchomieniu kodu VBA lub przy użyciu klawisza F5 dane wyjściowe są zapisywane w bezpośrednim oknie, a plik jest wyświetlany w folderze.

Wynik do pliku jest pokazany na poniższym rysunku.

Drukowanie wyników do pliku jest korzystne, gdy prezentowany jest długi tekst.

Przykład 3 - wyświetlanie silni liczby w okienku bezpośrednim

Ten przykład ilustruje użycie instrukcji debug-a print w celu pokazania silni liczby.

Kod:

Public Sub Fact () Dim Count As Integer Dim number As Integer Dim Fakt As Integer number = 5 Fakt = 1 For Count = 1 To number Fakt = Fact * Count Next Count Debug.Print Fact End Sub

Aby określić silnię, bierze się pod uwagę trzy zmienne, w tym liczbę, liczbę i fakt. Przyjmuje się, że pętla for powtórzy mnożenie wartości faktów przez liczbę w celu określenia silni liczby.

Tutaj, debuguj. Instrukcja print jest używana poza pętlą „for” w celu wyświetlenia wartości po wypełnieniu okręgu. Wynik jest określony.

If we use debug. Print statement inside the “for” loop, the fact-value is displayed for every recurring time, as shown in the figure.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Debug.Print Fact Next Count End Sub

Run the code by pressing the F5 key and see the output in the immediate window. In this situation, we should consider the last value as the factorial of the given number.

Example #4 - Printing the Full name of the Active Workbook

This example explains how to print the current workbook name into the prompt window.

The program is developed, as shown in the figure.

Code:

Sub Activework() Dim count As Long For count = 1 To Workbooks.count Debug.Print Workbooks(count).FullName Next count Debug.Print count End Sub

Tutaj „count” jest zmienną używaną do zliczania liczby aktywnych skoroszytów i do wyświetlania pełnej nazwy aktywnego skoroszytu. Zostanie wyświetlona pełna nazwa i liczba aktywnych skoroszytów, jak pokazano na rysunku.

Ścieżka skoroszytu na dyskach jest dokładnie wyświetlana za pomocą instrukcji debugprint języka VBA.

Rzeczy do zapamiętania

  • Głównym problemem związanym z debugowaniem .print jest brak opcji zawijania tekstu dla długich ciągów w bezpośrednim oknie
  • Bezpośrednie okno powinno zostać przeniesione na górę, aby zobaczyć dane wyjściowe w interfejsie użytkownika
  • Nie jest możliwe zawijanie długiego tekstu wyświetlanego w oknie bezpośrednim. W takiej sytuacji wynik musi zostać wyświetlony w pliku przechowywanym na dysku.

Interesujące artykuły...