Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie tot Debug.Print en MsgBox | Introductie tot VBA en het Excel-objectmodel
Excel VBA voor Bedrijfsautomatisering

Introductie tot Debug.Print en MsgBox

Veeg om het menu te tonen

Beide laten je een waarde zien terwijl je code wordt uitgevoerd, maar ze zijn bedoeld voor twee verschillende doelgroepen. Het door elkaar gebruiken ervan is een veelvoorkomende gewoonte bij beginners die bewust gecorrigeerd moet worden.

Debug.Print

Debug.Print [outputlist]
  • outputlist — één of meer uitdrukkingen om af te drukken, optioneel samengevoegd met ; of &;
  • Geen haakjes, geen retourwaarde — het is een statement, geen functie;
  • Schrijft altijd naar het Direct Venster.
Debug.Print total            ' one value
Debug.Print "Total: "; total ' semicolon — adds a space between items
Debug.Print "Total: " & total' & — concatenates with no extra space

MsgBox

MsgBox(prompt, [buttons], [title], [helpfile], [context])
MsgBox "Done."                                        ' statement form — no parentheses needed
result = MsgBox("Continue?", vbYesNo, "Confirm")       ' function form — parentheses required
Note
Opmerking

Haakjes rond de argumenten van MsgBox worden alleen gebruikt wanneer je een retourwaarde opvangt. Gebruikt als een gewone instructie (zonder toewijzing), zijn haakjes eigenlijk een fout — MsgBox("Done.") werkt nog steeds, maar zodra je een tweede argument toevoegt zonder toewijzing, geeft MsgBox ("Continue?", vbYesNo) een syntaxfout. Laat de haakjes weg bij de statementvorm, voeg ze alleen toe bij result = MsgBox(...).

Waarvoor elk daadwerkelijk bedoeld is

Een eenvoudige test: vraag voor wie het bericht eigenlijk bedoeld is. Als het antwoord is "voor mij, terwijl ik deze code schrijf en test," gebruik dan Debug.Print — het kost niets om tijdelijk te laten staan en niets om later te verwijderen, omdat het nooit zichtbaar is voor iemand die de uiteindelijke werkmap gebruikt. Als het antwoord is "de persoon die deze macro nu uitvoert en dit moet zien," gebruik dan MsgBox — een bevestigingsvenster of een "klaar"-melding vallen in deze categorie, omdat ze deel uitmaken van de uiteindelijke gebruikerservaring in plaats van een hulpmiddel voor foutopsporing.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 1. Hoofdstuk 5
some-alt