Stampa di debug VBA - Come utilizzare Debug.Print per analizzare l'output del codice VBA?

Excel VBA Debug.Print

Debug Print è uno degli strumenti utili presentati nell'editor VBA per capire come funziona un programma e aiuta ad analizzare i cambiamenti nei valori delle variabili create nel programma VBA. Mostra l'output della finestra del prompt quando eseguiamo il programma senza bug.

Debug.print offre i due principali vantaggi rispetto all'uso di Msgbox per visualizzare l'output del codice. Elimina la necessità di fare clic ogni volta sul pulsante OK e mostra il registro dei valori di output restituiti nelle finestre immediate. Fa risparmiare molto tempo agli utenti. Il presente articolo spiega l'uso di Excel VBA Debug Print con molti esempi e spiega come usarlo coprendo le seguenti cose.

Che cos'è VBA Debug Print?

Debug è un oggetto in VBA e viene utilizzato con i due metodi chiamati Assert e Print. La stampa è utile nei messaggi a display e si afferma in utile nella valutazione delle condizioni. In VBA, eseguire il debug. L'istruzione print viene utilizzata in qualsiasi posizione del programma di codifica per mostrare i valori di una variabile o dei messaggi nella finestra immediata. Questi non richiedono alcun riconoscimento o conferma e non mostrano alcun effetto sul codice sviluppato. È sicuro e migliore da usare nel codice nella situazione per facilitare l'accesso a molti utenti. Questi sono solo utili per testare o valutare il codice per confermare che funzioni correttamente o meno. Stampa le variabili, le stringhe, i numeri, l'array, i valori nei fogli Excel e nei fogli vuoti e attivi.

Come utilizzare Excel VBA Debug Print?

VBA debug.print è l'istruzione utile per visualizzare più variabili contemporaneamente nella finestra immediata. È l'approccio migliore e alternativo per mostrare l'output.

Per esempio,

Debug. Conteggio stampe, somma, media, deviazione standard

Come mostrato nell'esempio, tutte le variabili sono separate da virgole. Questa istruzione può trasferire l'output alla finestra immediata anche se una finestra non è aperta. Non interrompe l'esecuzione del codice come in Msgbox. Questa flessibilità supporta il monitoraggio continuo delle modifiche nell'output relative alle modifiche nel codice.

Le variabili count, sum, average e standard deviation vengono visualizzate nella stessa riga con lo stesso spazio tra di loro. Se la finestra immediata non è aperta, attenersi alla seguente procedura per visualizzare l'output.

Passaggi per aprire la finestra immediata e vedere l'output

  • Premi Ctrl + G o fai clic sul menu "Visualizza" nell'editor VBA.
  • Scegli l'opzione "Finestra immediata".
  • Posiziona il cursore nella finestra ed esegui nuovamente il codice.
  • Osserva l'output nella finestra.

Esempi di Excel VBA Debug.Print

Di seguito sono riportati gli esempi per dimostrare l'uso della stampa di debug in Excel VBA.

Esempio # 1 - Visualizzazione dei valori delle variabili

Per prima cosa, vai alla scheda Sviluppatore, fai clic su Macro e crea una macro per scrivere il codice nel VBA e aggiungere un nome ad esso.

Dopo aver aggiunto un nome, fare clic su crea. Questo apre l'editor VBA.

Sviluppa un piccolo programma, come mostrato nella figura.

Codice:

Variabili secondarie () 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

Come mostrato nello screenshot, tre dimensioni o variabili vengono ridotte come X, Y e Z rispettivamente come numero intero, stringa e Double. Per stampare questi valori, viene utilizzato Debug.print e l'output verrà visualizzato nella finestra del prompt. Premi CTRL + G per vedere il risultato, come mostrato nello screenshot.

Eseguire questo codice utilizzando il tasto F5 e premere CTRL + G per visualizzare l'output nella finestra immediata.

Questo programma può essere semplificato separando le istruzioni di debug-print con una virgola.

Codice:

Variabili secondarie () 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

Questa istruzione di debug stampa l'output nella stessa riga, come mostrato nello screenshot.

Esempio # 2 - Debug print to File

Questo esempio illustra l'uso della stampa di debug VBA per visualizzare l'output in un file quando la lunghezza del testo è troppo alta.

Viene sviluppato il programma per stampare l'output su file, come mostrato in figura.

Codice:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Apri "D: Articles Excel test.txt" per l'output come #num s = "Hello, world!" Debug.Print s 'scrive nella finestra immediata Print #num, s' scrive l'output nel file Close #num End Sub

In questo programma, due variabili chiamate S e Num, sono considerate come stringa e numero intero. L'istruzione open viene utilizzata per creare un file di testo con il nome test. Una colonna chiamata "Hello World" è dichiarata nella variabile S.

Quando si esegue il codice VBA manualmente o utilizzando il tasto F5, l'output viene scritto nella finestra immediata e il file alla volta viene visualizzato nella cartella.

The output to file is shown in the below-mentioned figure.

Printing output to file is beneficial when long text is presented.

Example #3 - Displaying the Factorial of a Number in the Immediate Window

This example illustrates the use of the debug-a print statement to show the factorial of a number.

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 Next Count Debug.Print Fact End Sub

To determine the factorial, three variables are considered, including the count, number, and fact. For loop is taken to repeat the multiplication of fact-value with count to determine factorial of the number.

Here, debug. The print statement is used outside the “for” loop to display the value after completing the circle. The output is determined.

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

Qui 'count' è la variabile utilizzata per contare il numero di cartelle di lavoro attive e per visualizzare il nome completo della cartella di lavoro attiva. Vengono visualizzati il ​​nome completo e il numero di cartelle di lavoro attive, come mostrato nella figura.

Il percorso della cartella di lavoro nelle unità viene visualizzato accuratamente utilizzando l'istruzione debugprint VBA.

Cose da ricordare

  • Il problema principale con il debug .print non è l'opzione di disposizione del testo per stringhe lunghe nella finestra immediata
  • La finestra immediata dovrebbe essere portata in alto per vedere l'output nell'interfaccia utente
  • È impossibile racchiudere il testo lungo visualizzato nella finestra immediata. In questa situazione, il risultato deve essere mostrato a un file memorizzato nell'unità.

Articoli interessanti...