Eigen MsgBox maken

Om via visual basic een bericht in een venster terug te sturen gebruik je een messagebox (MsgBox). Je hebt alleen een button nodig en een klein stukje code en je hebt een eigen bericht.

MsgBox maken

Maak een knop in Excel via het tabblad Ontwikkelaars, de knop Invoegen en kies hier voor de Opdrachtknop of de normale Knop. Vervolgens is de vraag welke macro je eraan toe wilt kennen, druk hier op nieuw.

Voer hier de volgende regel bij:
MsgBox "Ik leer berichten te maken"

De volledige code is dan:
Sub Knop1_Klikken()
MsgBox "Ik leer berichten te maken"
End Sub

Msgbox berichtvenster gemaakt met VBA

Cel in het bericht
Je kan ook aangeven dat er een tekst uit een cel in het bericht verwerkt moet worden. Dat doe je op deze manier:
MsgBox "De opgegeven tekst is " & Range("A1").Value

Hiermee wordt de volledige code:
Sub Knop1_Klikken()
MsgBox "De opgegeven tekst is " & Range("A1").Value
End Sub

Hiermee wordt de tekst weergegeven, maar ook cel A1.
Meerdere regels
Je kan in het bericht ook meerdere regels laten weergeven. Dat doe je op de volgende manier
MsgBox "Regel 1" & vbNewLine & "Regel 2"

Dan is de volledige code als volgt:
Sub Knop1_Klikken()
MsgBox "Regel 1" & vbNewLine & "Regel 2"
End Sub

Je kan extra regels aanmaken door telkens & vbNewLine & te doen.

In samenwerking met de If functie

Natuurlijk beginnen we hier ook met een Knop. Maak een knop in Excel via het tabblad Ontwikkelaars, de knop Invoegen en kies hier voor de Opdrachtknop of de normale Knop.

Vervolgens is de vraag welke macro je eraan toe wilt kennen, druk hier op nieuw.
In dit voorbeeld wordt er gevraagd of je het werkblad wilt legen. Als je op Ja klikt gebeurd dit ook daadwerkelijk, klik je op Nee dan gebeurd er niks.

Je krijgt dan deze code, uitleg staat erbij:
Sub Knop1_Klikken()
Dim vraag As Integer 'eerst bepaal je wat het type van vraag is, hier integer
vraag = MsgBox("Leeg het hele werkblad?", vbYesNo + vbQuestion, "Werkblad legen") 'hier is de vraag, gevolgd door de keuze ja of nee
If vraag = vbYes Then 'als het ja is dan gebeurd dit
Cells.ClearContents
Else
'anders gebeurd er niks
End If
End Sub

Invoerveld in bericht

Je kan ook een invoerveld in je bericht opnemen, waarna de ingevoerde tekst in een opgegeven cel komt te staan.

Natuurlijk beginnen we hier ook met een Knop.
Maak een knop in Excel via het tabblad Ontwikkelaars, de knop Invoegen en kies hier voor de Opdrachtknop of de normale Knop. Vervolgens is de vraag welke macro je eraan toe wilt kennen, druk hier op nieuw.

Voeg deze code daarvoor toe aan de knop, de uitleg staat in de code.
Sub Knop1_Klikken()
Dim Invoer As Variant 'Invoer is hier een Variant (variabel) type zodat je cijfers maar ook letters kan invoeren
Range("A1").Value = Invoer 'Waar de invoer weergegeven moet worden
Invoer = InputBox("Geef hier de invoer op") 'Hiermee voeg je een invoerbalk in, er zijn meerdere argumenten, je kan hem bijvoorbeeld uitbreiden met een titel
End Sub

Leave a Comment

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