Wydruk debugowania VBA

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 bezpośredniego okna, 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żytkowników. W niniejszym artykule wyjaśniono użycie programu Excel VBA Debug Print z wieloma przykładami i wyjaśniono, jak go używać, uwzględniając następujące kwestie.

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świetlaniu komunikatów i pomaga w ocenie warunków. W języku VBA instrukcja debug.print jest używana w dowolnym miejscu programu kodującego w celu wyświetlenia 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 wykorzystać go w kodzie w sytuacji ułatwienia dostępu wielu użytkownikom. Są one po prostu pomocne w testowaniu lub ocenie kodu, aby potwierdzić, że działa on poprawnie, czy nie. Drukowanie zmiennych, ciągów, liczb, tablic, wartości w arkuszach programu Excel oraz pustych i aktywnych arkuszach.

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 jest w stanie przenieść dane wyjściowe do bezpośredniego okna, nawet jeśli okno nie jest otwarte. Nie zatrzymuje wykonywania kodu, jak w Msgbox. Ta elastyczność wspiera ciągłe monitorowanie zmian danych wyjściowych w odniesieniu do 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ć bezpośrednie okno 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.

Możesz pobrać ten szablon VBA Debug Print Excel tutaj - VBA Debug Print Excel Template

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 wynik zostanie wyświetlony w bezpośrednim oknie. Naciśnij klawisze CTRL + G, aby wyświetlić dane wyjściowe, 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:

 Zmienne podrzędne () 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, co 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 w sposób pokazany na rysunku.

Kod:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Otwórz "D: \ Artykuły \ Excel \ test.txt" Do wyjścia 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 odpowiednio jako łańcuch i liczba całkowita. Instrukcja open służy do tworzenia pliku tekstowego z testem nazwy. Ciąg o nazwie „Hello World” jest zadeklarowany w zmiennej S.

Gdy uruchamiasz kod VBA ręcznie lub za pomocą klawisza F5, dane wyjściowe są zapisywane w bezpośrednim oknie, a plik na raz jest wyświetlany w folderze.

Wynik do pliku pokazano 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.print do 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 powtarza mnożenie wartości faktów przez liczbę w celu określenia silni liczby.

W tym przypadku instrukcja debug.print jest używana poza pętlą „for”, aby wyświetlić wartość po zakończeniu pętli. Wyjście jest określane jako.

If we use debug.print statement in inside “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 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 immediate 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 

Here ‘count’ is the variable taken to count the number of active workbooks and to display the full name of the active workbook. The full name and number of active workbooks are displayed as shown in the figure.

The path of the workbook in the drives is accurately displayed by using the VBA debug.print statement.

Things to Remember

  • The main issue with the debug .print is no text wrapping option for long strings in the immediate window
  • The immediate window should be brought to top see the output in the user interface
  • It is impossible to wrap the long text displayed in the Immediate Window. In this situation, the output needs to be displayed to a file stored in the drive.