VBA-foutopsporing afdrukken

Excel VBA Debug.Print

Debug Print is een van de handige tools die in de VBA-editor worden gepresenteerd om erachter te komen hoe een programma werkt en het helpt om de veranderingen in de waarden van variabelen die in het VBA-programma zijn gemaakt, te analyseren. Het toont de uitvoer van het onmiddellijke venster wanneer we het programma zonder bugs draaien.

Debug.print biedt de twee belangrijkste voordelen ten opzichte van het gebruik van Msgbox om de uitvoer van de code weer te geven. Het elimineert de noodzaak om elke keer op de OK-knop te klikken en geeft het logboek van geretourneerde uitvoerwaarden weer in de onmiddellijke vensters. Het bespaart gebruikers veel tijd. In dit artikel wordt het gebruik van Excel VBA Debug Print uitgelegd met veel voorbeelden en uitleg over het gebruik ervan, waarbij de volgende zaken worden behandeld.

Wat is VBA Debug Print?

Debug is een object in VBA en wordt gebruikt met de twee methoden genaamd Assert en Print. De afdruk is nuttig bij het weergeven van berichten en beweert nuttig bij de evaluatie van de omstandigheden. In VBA wordt de instructie debug.print op elke plaats van het coderingsprogramma gebruikt om de waarden van een variabele of berichten in het onmiddellijke venster weer te geven. Deze hebben geen bevestiging of bevestiging nodig en hebben geen effect op de ontwikkelde code. Het is veilig en het beste om in de code te gebruiken in de situatie om de toegang voor veel gebruikers te vergemakkelijken. Deze zijn alleen nuttig bij het testen of evalueren van de code om te bevestigen dat deze correct werkt of niet. De variabelen, tekenreeksen, getallen, matrix, waarden in Excel-bladen en lege en actieve bladen afdrukken.

Hoe Excel VBA Debug Print te gebruiken?

VBA debug.print is de verklaring die nuttig is bij het weergeven van meer variabelen tegelijk in het onmiddellijke venster. Het is de beste en alternatieve benadering om de output te tonen.

Bijvoorbeeld,

Debug.print count, som, gemiddelde, standaarddeviatie

Zoals in het voorbeeld wordt getoond, worden alle variabelen gescheiden door komma's. Deze instructie is in staat om de uitvoer naar het onmiddellijke venster over te brengen, zelfs in het geval dat een venster niet wordt geopend. Het stopt niet met het uitvoeren van de code zoals in Msgbox. Deze flexibiliteit ondersteunt een continue monitoring van de wijzigingen in de output met betrekking tot wijzigingen in de code.

De variabelen tellen, som, gemiddelde en standaarddeviatie worden op dezelfde regel weergegeven met gelijke ruimte ertussen. Als Direct venster niet wordt geopend, volgt u de volgende stappen om de uitvoer te zien.

Stappen om het onmiddellijke venster te openen en de uitvoer te zien

  • Druk op Ctrl + G of klik op het menu 'Beeld' in de VBA-editor.
  • Kies de optie 'Direct venster'.
  • Plaats de cursor in het venster en voer de code opnieuw uit.
  • Bekijk de uitvoer in het venster.

Voorbeelden van Excel VBA Debug.Print

Hieronder volgen de voorbeelden om het gebruik van foutopsporingsafdruk in Excel VBA te demonstreren.

U kunt deze VBA Debug Print Excel-sjabloon hier downloaden - VBA Debug Print Excel-sjabloon

Voorbeeld # 1 - De waarden van de variabelen weergeven

Ga eerst naar het tabblad Ontwikkelaar, klik op Macro's en maak een macro om de code in de VBA te schrijven en er een naam aan toe te voegen.

Klik na het toevoegen van een naam op aanmaken. Dit opent de VBA-editor.

Ontwikkel een klein programma zoals weergegeven in de afbeelding.

Code:

 Subvariabelen () 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 

Zoals in de schermafbeelding wordt getoond, worden drie dimensies of variabelen verkleind als X, Y en Z als respectievelijk een geheel getal, een string en een Double. Om deze waarden af ​​te drukken wordt Debug.print gebruikt en de output zal in het directe venster getoond worden. Druk op CTRL + G om de uitvoer te zien zoals weergegeven in de schermafbeelding.

Voer deze code uit met de F5-toets en druk op  CTRL + G om de uitvoer in het onmiddellijke venster te zien.

Dit programma kan worden vereenvoudigd door de instructies debug.print te scheiden door een komma.

Code:

 Subvariabelen () 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 

Deze foutopsporingsinstructie drukt de uitvoer af op dezelfde regel als in de schermafbeelding.

Voorbeeld # 2 - Foutopsporing afdrukken naar bestand

Dit voorbeeld illustreert het gebruik van VBA-foutopsporingsafdruk om uitvoer naar een bestand weer te geven wanneer de lengte van de tekst te hoog is.

Het programma om de uitvoer op een bestand af te drukken, is ontwikkeld zoals weergegeven in de afbeelding.

Code:

Sub DebugPrintToFile () Dim s As String Dim num As Integer num = FreeFile () Open "D: \ Articles \ Excel \ test.txt" voor uitvoer als #num s = "Hallo wereld!" Debug.Print s 'schrijven naar het onmiddellijke venster Print #num, s' schrijf uitvoer naar bestand Sluiten #num End Sub

In dit programma worden twee variabelen genaamd S en Num beschouwd als respectievelijk een string en een geheel getal. Het open statement wordt gebruikt om een ​​tekstbestand te maken met de naam test. Een string genaamd "Hello World" wordt gedeclareerd in de variabele S.

Wanneer u de VBA-code handmatig uitvoert of de F5-toets gebruikt, wordt de uitvoer naar het onmiddellijke venster geschreven en wordt het bestand per keer in de map weergegeven.

De uitvoer naar het bestand wordt weergegeven in de onderstaande afbeelding.

Het afdrukken van uitvoer naar een bestand is gunstig wanneer lange tekst wordt gepresenteerd.

Voorbeeld # 3 - De faculteit van een getal weergeven in het onmiddellijke venster

Dit voorbeeld illustreert het gebruik van de instructie debug.print om de faculteit van een getal weer te geven.

Code:

 Public Sub Fact () Dim Count As Integer Dim number As Integer Dim Fact As Integer getal = 5 Fact = 1 For Count = 1 Tot nummer Fact = Fact * Count Volgende telling Debug.Print Fact End Sub 

Om de faculteit te bepalen, worden drie variabelen overwogen, waaronder het aantal, het aantal en het feit. For-lus wordt gebruikt om de vermenigvuldiging van feitelijke waarde met count te herhalen om de faculteit van het getal te bepalen.

Hier wordt de instructie debug.print buiten de "for" -lus gebruikt om de waarde weer te geven na voltooiing van de lus. De output wordt bepaald als.

Als we de instructie debug.print gebruiken in de binnen "for" -lus, wordt de feit-waarde weergegeven voor elke terugkerende tijd, zoals weergegeven in de afbeelding.

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 

Voer de code uit door op F5 te drukken en bekijk de uitvoer in het onmiddellijke venster. In deze situatie moeten we de laatste waarde beschouwen als de faculteit van het opgegeven getal.

Voorbeeld # 4 - De volledige naam van de actieve werkmap afdrukken

In dit voorbeeld wordt uitgelegd hoe u de huidige werkmapnaam in het directe venster afdrukt

Het programma is ontwikkeld zoals weergegeven in de afbeelding.

Code:

 Sub Activework () Dim count As Long For count = 1 To Workbooks.count Debug.Print Workbooks (count) .FullName Volgende telling 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.