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
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 manierMsgBox "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