Inhoudsopgave:
- U kunt de functie MsgBox op twee manieren gebruiken:
- Als u een berichtvenster weergeeft dat meer dan alleen een OK-knop bevat, wilt u waarschijnlijk weten op welke knop de gebruiker klikt. Je hebt geluk. De functie MsgBox kan een waarde retourneren die aangeeft op welke knop wordt geklikt. U kunt het resultaat van de functie MsgBox toewijzen aan een variabele.
Video: Gebruik van Variabelen in VBA excel 2024
U bent waarschijnlijk bekend met de VBA MsgBox-functie. De MsgBox-functie, die de onderstaande argumenten accepteert, is handig voor het weergeven van informatie en het verkrijgen van eenvoudige gebruikersinvoer. Het kan gebruikersinvoer krijgen omdat het een functie is. Een functie, zoals u waarschijnlijk weet, retourneert een waarde. In het geval van de functie MsgBox gebruikt het een dialoogvenster om de waarde te krijgen die wordt geretourneerd. Blijf lezen om precies te zien hoe het werkt.
Argument | Wat het beïnvloedt |
---|---|
Prompt | De tekst Excel wordt weergegeven in het berichtvenster |
Knoppen | Een getal dat aangeeft welke knoppen (samen met welk pictogram)
wordt weergegeven in het berichtvenster (optioneel) |
Titel | De tekst die wordt weergegeven in de titelbalk van het berichtvak
(optioneel) |
Hier is een vereenvoudigde versie van de syntaxis van de functie MsgBox: <
Een eenvoudig berichtvenster weergeven
U kunt de functie MsgBox op twee manieren gebruiken:
Eenvoudig een bericht weergeven naar de gebruiker:
-
In dit geval geeft u niet om het resultaat dat door de functie wordt geretourneerd. Om een reactie van de gebruiker te krijgen:
-
In dit geval geeft u om het resultaat dat door de functie wordt geretourneerd. Het resultaat hangt af van de knop waarop de gebruiker klikt.
Sub MsgBoxDemo () MsgBox "Klik op OK om te beginnen met afdrukken. "Bladen (" resultaten "). PrintOut End Sub
Kijk hieronder om te zien hoe dit berichtvenster eruitziet. In dit geval begint het afdrukken wanneer de gebruiker op OK klikt. Merk je dat er geen manier is om het afdrukken te annuleren? Blijf lezen om erachter te komen hoe je dat kunt oplossen.
Een eenvoudig berichtvenster.
Reageren vanuit een berichtenvensterAls u een berichtvenster weergeeft dat meer dan alleen een OK-knop bevat, wilt u waarschijnlijk weten op welke knop de gebruiker klikt. Je hebt geluk. De functie MsgBox kan een waarde retourneren die aangeeft op welke knop wordt geklikt. U kunt het resultaat van de functie MsgBox toewijzen aan een variabele.
In de volgende code worden enkele ingebouwde constanten gebruikt die het gemakkelijk maken om te werken met de waarden die door MsgBox zijn geretourneerd:
Sub GetAnswer () Dim Ans as Long Ans = MsgBox ("Start printing?", VbYesNo) Selecteer Case Ans Case vbJa ActiveSheet. PrintOut Case vbNo MsgBox "Afdrukken geannuleerd" End Select End Sub
Constant
Waarde | What It Does | vBOKOnly |
---|---|---|
0 | Geeft alleen de knop OK weer. | vbOKCancel |
1 | Geeft de knoppen OK en Annuleren weer. | vbAbortRetryIgnore |
2 | Geeft de knoppen Afbreken, Opnieuw proberen en Negeren weer. | vbYesNoCancel |
3 | Geeft de knoppen Ja, Nee en Annuleren weer. | vbYesNo |
4 | Geeft de knoppen Ja en Nee weer. | vbRetryCancel |
5 | Geeft de knoppen Opnieuw proberen en Annuleren weer. | vbCritical |
16 | Geeft het pictogram Critical Message weer. | vbQuestion |
32 | Geeft het waarschuwingsquerypictogram weer. | vbExclamation |
48 | Geeft pictogram voor waarschuwingsberichten weer. | vbInformatie |
64 | Geeft het pictogram Informatiebericht weer. | vbDefaultButton1 |
0 | De eerste knop is standaard. | vbDefaultButton2 |
256 | Tweede knop is standaard. | vbDefaultButton3 |
512 | De derde knop is standaard. | vbDefaultButton4 |
768 | Vierde knop is standaard. | Bekijk hoe het eruit ziet. Wanneer u deze procedure uitvoert, krijgt de variabele Ans een waarde van ofwel vb Ja of vbNo toegewezen, afhankelijk van op welke knop de gebruiker klikt. De Select Case-instructie gebruikt de Ans-waarde om te bepalen welke actie de code moet uitvoeren. |
Een eenvoudig berichtvenster met twee knoppen.
U kunt ook het MsgBox-functieresultaat gebruiken zonder een variabele te gebruiken, zoals in het volgende voorbeeld wordt getoond:Sub GetAnswer2 () Als MsgBox ("Beginnen met afdrukken?", VbYesNo) = vb Ja dan '… [code als Ja is geklikt] … Anders '… [code als Ja niet is aangeklikt] … Einde als einde Sub