Impresión de depuración de VBA

Excel VBA Debug.Print

Debug Print es una de las herramientas útiles presentadas en el editor de VBA para descubrir cómo está funcionando un programa y ayuda a analizar los cambios en los valores de las variables creadas en el programa VBA. Muestra la salida de la ventana inmediata cuando ejecutamos el programa sin ningún error.

Debug.print ofrece los dos beneficios principales sobre el uso de Msgbox para mostrar la salida del código. Elimina la necesidad de hacer clic en el botón Aceptar cada vez y muestra el registro de los valores de salida devueltos en las ventanas inmediatas. Ahorra mucho tiempo a los usuarios. El presente artículo explica el uso de Excel VBA Debug Print con muchos ejemplos y explica cómo usarlo cubriendo las siguientes cosas.

¿Qué es VBA Debug Print?

Debug es un objeto en VBA y se usa con los dos métodos llamados Assert e Print. La impresión es útil en el mensaje de la pantalla y afirma ser útil en la evaluación de las condiciones. En VBA, la declaración debug.print se usa en cualquier lugar del programa de codificación para mostrar los valores de una variable o mensajes en la ventana inmediata. Estos no necesitan ningún reconocimiento o confirmación y no muestran ningún efecto sobre el código desarrollado. Es seguro y mejor usarlo en el código en la situación para facilitar el acceso a muchos usuarios. Estos son solo útiles para probar o evaluar el código para confirmar que funciona correctamente o no. Imprimir las variables, cadenas, números, matriz, valores en hojas de Excel y hojas vacías y activas.

¿Cómo utilizar Excel VBA Debug Print?

VBA debug.print es la declaración útil para mostrar más variables a la vez en la ventana inmediata. Es el enfoque mejor y alternativo para mostrar el resultado.

Por ejemplo,

Debug.print recuento, suma, promedio, desviación estándar

Como se muestra en el ejemplo, todas las variables están separadas por comas. Esta declaración puede transferir la salida a la ventana inmediata incluso en el caso de que no se abra una ventana. No deja de ejecutar el código como en Msgbox. Esta flexibilidad admite el monitoreo continuo de los cambios en la salida con respecto a los cambios en el código.

Las variables recuento, suma, promedio y desviación estándar se muestran en la misma línea con el mismo espacio entre ellas. Si la Ventana Inmediata no está abierta, siga los siguientes pasos para ver el resultado.

Pasos para abrir la ventana inmediata y ver el resultado

  • Presione Ctrl + G o haga clic en el menú 'Ver' en el editor de VBA.
  • Elija la opción 'Ventana inmediata'.
  • Coloque el cursor en la ventana y vuelva a ejecutar el código.
  • Observe la salida en la ventana.

Ejemplos de Excel VBA Debug.Print

Los siguientes son ejemplos para demostrar el uso de la impresión de depuración en Excel VBA.

Puede descargar esta plantilla de Excel de impresión de depuración de VBA aquí - Plantilla de Excel de impresión de depuración de VBA

Ejemplo n. ° 1: visualización de los valores de las variables

Primero, vaya a la pestaña Desarrollador, haga clic en Macros y cree una macro para escribir el código en el VBA y agregarle un nombre.

Después de agregar el nombre, haga clic en crear. Esto abre el editor de VBA.

Desarrolle un pequeño programa como se muestra en la figura.

Código:

 Subvariables () Dim X como número entero Dim Y como cadena Dim Z como doble X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub 

Como se muestra en la captura de pantalla, tres dimensiones o variables se reducen como X, Y y Z como un número entero, una cadena y un doble respectivamente. Para imprimir estos valores se utiliza Debug.print y la salida se mostrará en la ventana inmediata. Presione CTRL + G para ver el resultado como se muestra en la captura de pantalla.

Ejecute este código con la tecla F5 y presione  CTRL + G para ver el resultado en la ventana Inmediato.

Este programa se puede simplificar separando las declaraciones debug.print por una coma.

Código:

 Subvariables () Dim X como número entero Dim Y como cadena Dim Z como doble X = 5 Y = "John" Z = 105.632 Debug.Print X, Y, Z End Sub 

Esta declaración de depuración imprime la salida en la misma línea que se muestra en la captura de pantalla.

Ejemplo n. ° 2: depurar impresión en archivo

Este ejemplo ilustra el uso de la impresión de depuración de VBA para mostrar la salida a un archivo cuando la longitud del texto es demasiado alta.

El programa para imprimir la salida en un archivo se desarrolla como se muestra en la figura.

Código:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Abra "D: \ Articles \ Excel \ test.txt" para la salida como #num s = "¡Hola, mundo!" Debug.Print s 'escribe en la ventana inmediata Print #num, s' escribe salida en archivo Close #num End Sub

En este programa, dos variables llamadas S y Num se consideran una cadena y un entero respectivamente. La declaración abierta se utiliza para crear un archivo de texto con el nombre de prueba. Una cadena llamada "Hola mundo" se declara en la variable S.

Cuando ejecuta el código VBA manualmente o usando la tecla F5, la salida se escribe en la ventana inmediata y el archivo a la vez se muestra en la carpeta.

La salida al archivo se muestra en la figura que se menciona a continuación.

La impresión de la salida en un archivo es beneficiosa cuando se presenta texto extenso.

Ejemplo n. ° 3 - Visualización del factorial de un número en la ventana inmediata

Este ejemplo ilustra el uso de la declaración debug.print para mostrar el factorial de un número.

Código:

 Subfacto público () Dim Count As Integer Dim Número como entero Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Siguiente Count Debug.Print Fact End Sub 

Para determinar el factorial, se consideran tres variables que incluyen el recuento, el número y el hecho. Se toma el bucle for para repetir la multiplicación del valor de hecho con la cuenta para determinar el factorial del número.

Aquí, la declaración debug.print se usa fuera del ciclo "for" para mostrar el valor después de completar el ciclo. La salida se determina como.

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.