Impression de débogage VBA - Comment utiliser Debug.Print pour analyser la sortie de code VBA?

Table des matières

Débogage Excel VBA.

Debug Print est l'un des outils utiles présentés dans l'éditeur VBA pour comprendre comment un programme fonctionne, et il aide à analyser les changements dans les valeurs des variables créées dans le programme VBA. Il montre la sortie de la fenêtre d'invite lorsque nous exécutons le programme sans aucun bogue.

Debug.print offre les deux principaux avantages par rapport à l'utilisation de Msgbox pour afficher la sortie du code. Il élimine le besoin de cliquer sur le bouton OK à chaque fois et affiche le journal des valeurs de sortie renvoyées dans les fenêtres immédiates. Cela fait gagner beaucoup de temps aux utilisateurs. Le présent article explique l'utilisation d'Excel VBA Debug Print avec de nombreux exemples et explique comment l'utiliser en couvrant les choses suivantes.

Qu'est-ce que VBA Debug Print?

Debug est un objet dans VBA et utilisé avec les deux méthodes appelées Assert et Print. L'impression est utile dans les messages d'affichage et affirme son utilité dans l'évaluation des conditions. Dans VBA, déboguez. L'instruction d'impression est utilisée à n'importe quel endroit du programme de codage pour afficher les valeurs d'une variable ou des messages dans la fenêtre d'exécution. Celles-ci ne nécessitent aucun accusé de réception ni confirmation et n'affichent aucun effet sur le code développé. Il est sûr et préférable de l'utiliser dans le code dans la situation pour faciliter l'accès à de nombreux utilisateurs. Celles-ci sont simplement utiles pour tester ou évaluer le code pour confirmer qu'il fonctionne correctement ou non. Il imprime les variables, les chaînes, les nombres, le tableau, les valeurs dans les feuilles Excel et les feuilles vides et actives.

Comment utiliser l'impression de débogage Excel VBA?

VBA debug.print est l'instruction utile pour afficher plus de variables à la fois dans la fenêtre immédiate. C'est la meilleure approche alternative pour afficher la sortie.

Par exemple,

Debug.print count, sum, average, standard deviation

Comme indiqué dans l'exemple, toutes les variables sont séparées par des virgules. Cette instruction peut transférer la sortie vers la fenêtre immédiate même si une fenêtre n'est pas ouverte. Il n'arrête pas d'exécuter le code comme dans Msgbox. Cette flexibilité prend en charge la surveillance continue des changements dans la sortie concernant les changements dans le code.

Le nombre de variables, la somme, la moyenne et l'écart type sont affichés sur la même ligne avec un espace égal entre eux. Si la fenêtre immédiate n'est pas ouverte, suivez les étapes suivantes pour afficher la sortie.

Étapes pour ouvrir la fenêtre immédiate et voir la sortie

  • Appuyez sur Ctrl + G ou cliquez sur le menu «Affichage» dans l'éditeur VBA.
  • Choisissez l'option «Fenêtre immédiate».
  • Placez le curseur dans la fenêtre et exécutez à nouveau le code.
  • Observez la sortie dans la fenêtre.

Exemples de débogage Excel VBA.

Voici les exemples illustrant l'utilisation de l'impression de débogage dans Excel VBA.

Exemple # 1 - Affichage des valeurs des variables

Tout d'abord, allez dans l'onglet Développeur, cliquez sur Macros et créez une macro pour écrire le code dans le VBA et lui ajouter un nom.

Après avoir ajouté un nom, cliquez sur créer. Cela ouvre l'éditeur VBA.

Développez un petit programme, comme indiqué sur la figure.

Code:

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

Comme le montre la capture d'écran, trois dimensions ou variables sont réduites en X, Y et Z en tant qu'entier, chaîne et Double, respectivement. Pour imprimer ces valeurs, Debug.print est utilisé et la sortie sera affichée dans la fenêtre d'invite. Appuyez sur CTRL + G pour voir le résultat, comme indiqué dans la capture d'écran.

Exécutez ce code à l'aide de la touche F5 et appuyez sur CTRL + G pour voir la sortie dans la fenêtre exécution.

Ce programme peut être simplifié en séparant les instructions debug-print par une virgule.

Code:

Sous-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

Cette instruction de débogage imprime la sortie dans la même ligne, comme indiqué dans la capture d'écran.

Exemple # 2 - Déboguer l'impression dans un fichier

Cet exemple illustre l'utilisation de l'impression de débogage VBA pour afficher la sortie dans un fichier lorsque la longueur du texte est trop élevée.

Le programme pour imprimer la sortie sur un fichier est développé, comme indiqué dans la figure.

Code:

Sous DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Open "D: Articles Excel test.txt" Pour la sortie As #num s = "Hello, world!" Debug.Print s 'écrit dans la fenêtre immédiate Print #num, s' écrit la sortie dans le fichier Close #num End Sub

Dans ce programme, deux variables appelées S et Num, sont considérées comme une chaîne et un entier. L'instruction open est utilisée pour créer un fichier texte avec le nom test. Une colonne appelée «Hello World» est déclarée dans la variable S.

Lorsque vous exécutez le code VBA manuellement ou à l'aide de la touche F5, la sortie est écrite dans la fenêtre immédiate et le fichier à la fois est affiché dans le dossier.

La sortie vers le fichier est indiquée dans la figure ci-dessous.

L'impression de la sortie vers un fichier est utile lorsqu'un texte long est présenté.

Exemple # 3 - Affichage de la factorielle d'un nombre dans la fenêtre d'exécution

Cet exemple illustre l'utilisation de l'instruction debug-a print pour afficher la factorielle d'un nombre.

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

Pour déterminer la factorielle, trois variables sont considérées, y compris le nombre, le nombre et le fait. La boucle For est prise pour répéter la multiplication de la valeur de fait avec le nombre pour déterminer la factorielle du nombre.

Ici, déboguez. L'instruction print est utilisée en dehors de la boucle «for» pour afficher la valeur après avoir terminé le cercle. La sortie est déterminée.

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

Ici, «compte» est la variable utilisée pour compter le nombre de classeurs actifs et pour afficher le nom complet du classeur actif. Le nom complet et le nombre de classeurs actifs s'affichent, comme illustré dans la figure.

Le chemin du classeur dans les lecteurs est affiché avec précision à l'aide de l'instruction de débogage VBA.

Choses dont il faut se rappeler

  • Le principal problème avec le .print de débogage est l'absence d'option d'habillage de texte pour les longues chaînes dans la fenêtre immédiate
  • La fenêtre immédiate doit être amenée en haut voir la sortie dans l'interface utilisateur
  • Il est impossible d'habiller le long texte affiché dans la fenêtre d'exécution. Dans cette situation, le résultat doit être affiché dans un fichier stocké dans le lecteur.

Articles intéressants...