Hoe maak ik berichtenvakfuncties in excel?

Het eerste dat ik over VBA leerde, was hoe je een berichtenvenster moest gebruiken (“msgbox-functie”). Het is als een eenvoudig pop-upvenster in uw Excel-venster waarin u een specifiek bericht kunt weergeven. Als je erover nadenkt, kun je het op twee manieren gebruiken.

  • Stuur een bericht naar de gebruiker.
  • Krijg een eenvoudig antwoord van de gebruiker.

De meeste VBA-programmeurs gebruiken het in hun macrocodes om ze interactiever te maken en als je het niet weet, wed ik dat je er na het lezen van dit artikel verliefd op zult worden.

Tip van een expert: Als u een VBA-beginner bent, is het misschien een goed idee om meer te leren over het VBA-berichtenvenster.

Daarom wil ik vandaag in dit artikel alle details met u delen over het gebruik van een berichtenvenster in Excel en enkele praktijkvoorbeelden.

…Laten we beginnen.

Syntaxis

=MSGBOX(prompt, [knoppen], [titel], [helpbestand, context])

msgbox vba-functiesyntaxis

  • prompt Tekenreeksexpressie die wordt gebruikt om als bericht weer te geven. De maximale tekenlengte is 1024, afhankelijk van de tekenbreedte.
  • [knoppen] U kunt dit argument gebruiken om knoppen, pictogramstijl, knopidentiteit en berichtvenstermodaliteit op te geven.
  • [titel] U kunt dit argument gebruiken om de titeltekst voor uw berichtvenster op te geven.
  • [helpfile] Dit argument helpt u bij het specificeren van een helpbestand voor de gebruiker. De gebruiker heeft toegang tot dit helpbestand via de helpknop. Als u een helpbestand opgeeft, is het verplicht om een contextnummer op te geven.
  • [context] Numerieke expressie die wordt gebruikt om een Help-onderwerp toe te wijzen vanuit het Help-menu.

Opmerking: in de bovenstaande lijst zijn de argumenten daarboven tussen vierkante haakjes optioneel. U kunt dit overslaan om ze op te geven.

Hoe u een berichtvenster kunt aanpassen en verschillende knoppen kunt gebruiken

U kunt een VBA-berichtenvenster eenvoudig aanpassen met alle beschikbare opties. Laten we deze opties eens bekijken.

#1. vbOKAlleen

Dit geeft je een eenvoudige OK-knop. De gebruiker kan erop klikken na het lezen van het bericht om het te sluiten. U kunt ook een macro gebruiken die wordt uitgevoerd zodra op de knop OK wordt geklikt.

Onder OKOnly()

MsgBox-prompt:= “Dit is een MsgBox”, _

Knoppen:=vbOKOnly, _

Titel: = “Postbus”

Einde ondertitel

#2. vbOKAnnuleren

Deze constante geeft u een knop OK en Annuleren. De gebruiker heeft nu twee opties: op OK drukken om door te gaan of op annuleren om af te sluiten.

Onder OKAnnuleren()

MsgBox prompt:= »Gaat het? », _

Knoppen:=vbOKAnnuleren, _

Titel: = “Postbus”

Einde ondertitel

#3. vbAbortRetryIgnore

Hierdoor kunt u drie knoppen weergeven: Info, Opnieuw proberen en Overslaan. De gebruiker kan de bewerking afbreken, opnieuw proberen of negeren.

Onder OKAnnuleren()

MsgBox prompt:= »Gaat het? », _

Knoppen:=vbOKAnnuleren, _

Titel: = “Postbus”

Einde ondertitel

#4. vbJaNeeAnnuleren

Deze constante geeft drie knoppen weer voor Ja, Nee en Annuleren. Gebruiker kan Ja om te accepteren en door te gaan, Nee om te weigeren of te annuleren om het berichtvenster te sluiten.

Onder JaNeeAnnuleren()

MsgBox Prompt := “Nu heb je drie knoppen”, _

Knoppen:=vbJaNeeAnnuleren, _

Titel: = “Postbus”

Einde ondertitel

#5. vbJaNee

Deze constante geeft twee knoppen weer voor Ja en Nee. De gebruiker kan op Ja klikken om te accepteren en door te gaan of op Nee om te weigeren.

Onder JaNee()

MsgBox Prompt := “Nu heb je twee knoppen”, _

Knoppen:=vbJaNee, _

Titel: = “Postbus”

Einde ondertitel

#6. vbOpnieuw proberenAnnuleren

Nu worden er twee knoppen weergegeven: opnieuw proberen en annuleren. U kunt het gebruiken om de gebruiker te vragen de bewerking opnieuw uit te voeren of deze te annuleren.

Sub RetryCancel()MsgBox Prompt:=”Probeer het opnieuw”, _Buttons:=vbRetryCancel, _Title:=”MsgBox”End Sub

#7. vbReview

Deze constante geeft een pictogram weer in het berichtenvenster, wat aangeeft dat het bericht kritiek is.

Subkritisch()

MsgBox Prompt:= “Dit is van cruciaal belang”, _

Knoppen:=vbKritisch, _

Titel: = “Postbus”

Einde ondertitel

#8. vbVraag

Deze constante kan worden gebruikt bij het stellen van een vraag aan de gebruiker.

Subvraag()

MsgBox Prompt := »Wat nu te doen? », _

Knoppen:=vbVraag, _

Titel: = “Postbus”

Einde ondertitel

#9. vbUitroep

Deze constante geeft een uitroepteken weer bij het bericht.

OnderUitroepteken()

MsgBox Prompt := »Wat nu te doen? », _

Knoppen:=vbUitroep, _

Titel: = “Postbus”

Einde ondertitel

#tien. vbInformatie

Er wordt een pictogram weergegeven dat aangeeft dat het bericht informatie is.

Subinformatie()MsgBox Prompt:=”Wat nu te doen?”, _Buttons:=vbInformation, _Title:=”MsgBox”End Sub

#11. vbDefaultKnop1

Gebruik deze constante om de eerste knop in uw berichtvenster als standaardknop op te geven.

Sub DefaultButton1()MsgBox Prompt:=”Button1 is gemarkeerd?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=”MsgBox”End Sub

#12. vbDefaultKnop2

Gebruik deze constante om de tweede knop in uw berichtvenster als standaardknop op te geven.

Sub DefaultButton2()MsgBox Prompt:=”Button2 is gemarkeerd?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=”MsgBox”End Sub

#13. vbDefaultKnop3

Gebruik deze constante om de derde knop in uw berichtenbox op te geven als de standaardknop.

Sub DefaultButton3()MsgBox Prompt:=”Button3 is gemarkeerd?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=”MsgBox”End Sub

#14. vbDefaultKnop4

Gebruik deze constante om de vierde knop in uw berichtenbox op te geven als de standaardknop.

Sub DefaultButton4()MsgBox Prompt:=”Button4 is gemarkeerd?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=”MsgBox”End Sub

#15. vbApplicatieModaal

Deze constante zal de applicatie (Excel) onderbreken. De gebruiker moet de msgbox beantwoorden om de applicatie te kunnen gebruiken.

Onder OKOnly()

MsgBox-prompt:= “Dit is een MsgBox”, _

Knoppen:=vbOKOnly, _

Titel: = “Postbus”, _

Einde ondertitel

#16. vbSysteemModaal

Deze constante zal alle toepassingen in uw besturingssysteem opschorten. De gebruiker moet eerst op het berichtenvenster reageren.

Sub ApplicationModal()MsgBox Prompt := »Dit is de modale toepassing», _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub

#17. vbMsgBoxHelpButton

Gebruik deze constante om een helpknop aan uw mailbox toe te voegen. U kunt een helpbestand en een contextnummer toevoegen om de helpknop te gebruiken.

Sub HelpButton()MsgBox Prompt:=”Gebruik de Help-knop”, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=”MsgBox”, _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”, _Context:=101End Sub

Zodra de gebruiker op de helpknop klikt, verschijnt er een helpmenu.

#18. vbMsgBoxSetForeground

Deze constante helpt u om van uw berichtenvenster een voorgrondvenster te maken.

Sub SetForeground()MsgBox Prompt:=”Deze MsgBox staat op de voorgrond”, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=”MsgBox”End Sub

#19. vbMsgBoxRechts

De tekst wordt rechts uitgelijnd met deze constante.

Onder MsgBoxRight()

MsgBox Prompt:= “De tekst staat aan de rechterkant”, _

Knoppen:=vbOK + vbMsgBoxRight, _

Titel: = “Postbus”

Einde ondertitel

#20. vbMsgBoxRtlReading

Met behulp van deze constante wordt het berichtenvenster naar rechts gespiegeld. Deze constante is primair ontworpen voor de Hebreeuwse en Arabische systemen.

Onder MsgBoxRtlRead()

MsgBox Prompt:= “Deze doos is omgevallen”, _

Knoppen:=vbOK + vbMsgBoxRtlRead, _

Titel: = “Postbus”

Einde ondertitel

Waarden retourneren

Elke keer dat een gebruiker op het berichtenvenster reageert door op een van de knoppen te klikken, wordt er een nummer gegenereerd. Hiermee kunt u identificeren op welke knop de gebruiker heeft geklikt.

Constante
Waarde
Beschrijving
vbOK
1
OKE
vbAnnuleren
2
Annuleren
vbAfbreken
3
Abortus
vbProbeer het opnieuw
4
Opnieuw beginnen
vbOverslaan
5
Negeren
vbJa
6
Ja
vbNee
7
Nee

Voorbeelden uit de echte wereld van het gebruik van de VBA-berichtenboxfunctie in Excel

Hier heb ik enkele voorbeelden van VBA-berichtenboxen uit de praktijk opgesomd en ik ben er zeker van dat deze voorbeelden u zullen inspireren om het te gebruiken.

#1. Voer een macro uit met een VBA MsgBox

Met behulp van de msgbox-functie kunt u nu een gebruiker vragen voordat hij een macro uitvoert. Laten we naar de onderstaande macro kijken om het te begrijpen.

Onder SaveThis()

Resultaat dimmen als geheel getal

Resultaat = MsgBox(“Wilt u dit bestand opslaan?”, vbOKCancel)

Als Resultaat = vbOK Dan

ActiveWorkbook.Opslaan

Einde ondertitel

werkmap opslaan met vba msgbox

U kunt de gebruiker vragen de werkmap op te slaan. Als de gebruiker op de knop OK klikt, slaat de macrocode de werkmap op.

#2. Voeg een tabel in een berichtvenster in

U kunt vbTab gebruiken om tabelgegevens in het berichtvenster in te voeren. In dit voorbeeld begint de tabel vanaf cel A1.

Onder AddToMsgBox()

Dim bericht als tekenreeks

Dim r als int

Dim c als int

Dim rc als int

Dim cc als int

Dim myRows als bereik

Mijnkolommen dimmen als bereik

Bericht = “”

Stel myRows = Range(“A:A”) in

Stel myColumns = Range(“1:1”) in

rc = Application.CountA(mijnRows)

cc = Application.CountA(mijnKolommen)

Voor r = 1 tot rcVoor c = 1 tot cc

Bericht = Bericht & Cellen(r, c).Tekst

Als c <= cc Dan

Bericht = Bericht & vbTab

volgende cMsg = Bericht & vbCrLf

Volgende r

BerichtBox Bericht

Einde ondertitel

#3. Toon berichtvenster bij het openen van een bestand

Als je naar de onderstaande macro kijkt, heb ik auto_open gebruikt om een bericht te maken dat wordt weergegeven wanneer de werkmap wordt geopend.

Onder auto_open()

MsgBox “Welkom bij Exceladvisor en bedankt voor het downloaden van dit bestand” _

+ vbNewLine + vbNewLine + “Hier vindt u een gedetailleerde uitleg van de MsgBox-functie. » _

+ vbNewLine + vbNewLine + “En vergeet niet om andere coole dingen te bekijken. »

Einde ondertitel

Afhaalrestaurants

  1. U kunt geen vier knoppen aan een berichtvenster toevoegen als u de Help-knop niet als vierde knop gebruikt.
  2. Om een helpbestand voor uw berichtenbox te maken, kunt u het volgende voorbeeldbestand raadplegen.

Voorbeeld bestand

Download hier dit voorbeeldbestand voor meer informatie.

Conclusie

De berichtenbox helpt u niet alleen een boodschap over te brengen, maar maakt ook een creatieve indruk op de gebruiker. U kunt ze een bericht sturen en een eenvoudig antwoord krijgen.

En zoals ik al zei: als VBA nieuw voor je is, is het leren gebruiken van een berichtenvenster een van de beste dingen. Ik hoop dat dit artikel je heeft geholpen dichter bij je droom te komen om VBA onder de knie te krijgen, maar vertel me nu één ding.

Vind je de MsgBox-functie een van de coolste dingen in VBA?

Zorg ervoor dat u uw mening met mij deelt in het opmerkingengedeelte. Ik hoor graag van u en vergeet niet deze tip met uw vrienden te delen.

Meer informatie over VBA

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *