Innehållsförteckning:
- Du kan använda MsgBox-funktionen på två sätt:
- Om du visar en meddelanderuta som har mer än bara en OK-knapp, vill du förmodligen veta vilken knapp användaren klickar på. Du har tur. MsgBox-funktionen kan returnera ett värde som representerar vilken knapp som klickas. Du kan tilldela resultatet av MsgBox-funktionen till en variabel.
Video: Excelmakro-skolan, del 1 | Spela in ett eget makro i Excel 2024
Du är förmodligen bekant med VBA MsgBox-funktionen. MsgBox-funktionen, som accepterar argumenten nedan, är användbar för att visa information och få enkel användarinmatning. Det kan få användarinmatning eftersom det är en funktion. En funktion, som du säkert vet, returnerar ett värde. När det gäller MsgBox-funktionen använder den en dialogruta för att få det värde som det returnerar. Fortsätt läsa för att se exakt hur det fungerar.
Argument | Vad det påverkar |
---|---|
Snabb | Texten Excel visas i meddelandefältet |
Knappar | Ett nummer som anger vilka knappar (tillsammans med vilken ikon)
visas i meddelandefältet (tillval) |
Titel | Texten som visas i meddelandefältets titelfält
(tillval) |
Här är en förenklad version av syntaxen för MsgBox-funktionen: <
Visa en enkel meddelandebox
Du kan använda MsgBox-funktionen på två sätt:
För att enkelt visa ett meddelande till användaren:
-
I det här fallet bryr du dig inte om resultatet som returneras av funktionen. För att få svar från användaren:
-
I det här fallet bryr du dig om resultatet som returneras av funktionen. Resultatet beror på knappen som användaren klickar på.
Sub MsgBoxDemo () MsgBox "Klicka på OK för att börja skriva ut. "Ark (" Resultat "). PrintOut End Sub
Se nedan för att se hur meddelandet rutan ser ut. I det här fallet börjar utskriften när användaren klickar på OK. Märker du att det inte finns något sätt att avbryta utskriften? Fortsätt läsa för att få reda på hur du åtgärdar det.
En enkel meddelandebox.
Få ett svar från en meddelandeboxOm du visar en meddelanderuta som har mer än bara en OK-knapp, vill du förmodligen veta vilken knapp användaren klickar på. Du har tur. MsgBox-funktionen kan returnera ett värde som representerar vilken knapp som klickas. Du kan tilldela resultatet av MsgBox-funktionen till en variabel.
I följande kod används några inbyggda konstanter som gör det enkelt att arbeta med de värden som returneras av MsgBox:
Sub GetAnswer () Dim Ans As Long Ans = MsgBox ("Starta utskrift?", VbYesNo) Välj Case Ans Case vbYes ActiveSheet. PrintOut-fall vbNo MsgBox "Utskriven avbrytning" Slutval Välj slutdel
Konstant
Värde | Vad det gör | vbOKOnly |
---|---|---|
0 | Visar endast OK-knappen. | vbOKCancel |
1 | Visar OK och Avbryt knappar. | vbAbortRetryIgnore |
2 | Visar knapparna Avbryt, Försök igen och Ignorera. | vbYesNoCancel |
3 | Visar Ja, Nej och Avbryt knappar. | vbYesNo |
4 | Visar knapparna Ja och Nej. | vbRetryCancel |
5 | Visar Återställ och Avbryt knappar. | vbCritical |
16 | Visar ikon för kritisk meddelande. | vbQuestion |
32 | Visar ikon för varningsfråga. | vbExclamation |
48 | Visar ikon för varningsmeddelande. | vbInformation |
64 | Visar informationsmeddelandep icon. | vbDefaultButton1 |
0 | Första knappen är standard. | vbDefaultButton2 |
256 | Andra knappen är standard. | vbDefaultButton3 |
512 | Tredje knappen är standard. | vbDefaultButton4 |
768 | Fjärde knappen är standard. | Kolla hur det ser ut. När du utför den här proceduren är ans-variabeln tilldelad ett värde av antingen vbYes eller vbNo, beroende på vilken knapp användaren klickar på. Select Case-satsen använder ans-värdet för att bestämma vilken åtgärd koden ska utföra. |
En enkel meddelandebox med två knappar.
Du kan även använda funktionsresultatet MsgBox utan att använda en variabel, eftersom följande exempel visar:Sub GetAnswer2 () Om MsgBox ("Starta utskrift?", VbYesNo) = vbYes Då … … [kod om Ja är klickade] … Annat … … [kod om ja inte klickat] … Slut om slutdel