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
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.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.