Video: Hur man anpassar startmenyn i Windows 10 2024
Flexibiliteten i VBA-knappar argumentet gör det enkelt att anpassa dina Excel-meddelande lådor. Du kan välja vilka knappar som ska visas, avgöra om en ikon visas och bestämma vilken knapp som är standard (standardknappen är "klicka" om användaren trycker på Enter).
Du kan använda inbyggda konstanter för knapparnas argument. Om du föredrar kan du använda värdet i stället för en konstant (men med hjälp av de inbyggda konstanterna är det mycket enklare).
För att använda mer än en av dessa konstanter som argument, koppla dem bara med en + operatör. Om du till exempel vill visa en meddelandebox med knapparna Ja och Nej och en utropstecken använder du följande uttryck som det andra MsgBox-argumentet:
vbYesNo + vbExclamation
Eller om du föredrar att göra din kod mindre begriplig, använd ett värde av 52 (det vill säga 4 + 48).
Följande exempel använder en kombination av konstanter för att visa en meddelandefält med en Ja-knapp och en Nej-knapp (vbYesNo) samt en frågeteckenikon (vbQuestion). Den konstanta vbDefaultButton2 anger den andra knappen (Nej) som standardknapp - det vill säga den knapp som klickas om användaren trycker på Enter. För enkelheten tilldelas dessa konstanter till Config-variabeln och använder sedan Config som det andra argumentet i MsgBox-funktionen:
Sub GetAnswer3 () Dim Config så länge Dim Ans som heltal Config = vbYesNo + vbQuestion + vbDefaultButton2 Ans = MsgBox ("Process månadsrapporten?", Config) Om Ans = vbYes Sedan RunReport End Sub
Kolla meddelandeboxen Excel visas när du utför GetAnswer3-proceduren. Om användaren klickar på knappen Ja, utför rutinen proceduren med namnet RunReport. Om användaren klickar på knappen Nej (eller trycker på Enter) avslutas rutinen utan åtgärd. Eftersom titelargumentet utelämnades i MsgBox-funktionen använder Excel standardtiteln, Microsoft Excel.
Följande rutin ger ett annat exempel på att använda MsgBox-funktionen:
Sub GetAnswer4 () Dim Msg As String, Titel som String Dim Config som heltal, Ans som heltal Msg = "Vill du bearbeta månadsrapporten? "Msg = Msg & vbNewLine & vbNewLine Msg = Msg &" Behandling av månadsrapporten kommer att "Msg = Msg &" ta cirka 15 minuter. Det "Msg = Msg &" kommer att generera en 30 sidors rapport för "Msg = Msg &" alla försäljningskontor för den aktuella "Msg = Msg &" månaden. "Titel =" XYZ Marketing Company "Config = vbYesNo + vbQuestion Ans = MsgBox (Msg, Config, Title) Om Ans = vbYes Sedan RunReport End Sub
Detta exempel visar ett effektivt sätt att ange ett längre meddelande i en meddelandruta.En variabel (Msg) och konkateneringsoperatören (&) används för att bygga meddelandet i en serie uttalanden. VbNewLine -konstanten lägger in en radbrytningstecken som startar en ny linje (använd den två gånger för att infoga en tom linje). Titelförfarandet används för att visa en annan titel i meddelandefältet. Här visas meddelandeboxen Excel när du utför den här proceduren.
Denna dialogruta, som visas av MsgBox-funktionen, visar en titel, en ikon och två knappar.Du kan använda konstanter (som vbYes och vbNo) för returvärdet för en MsgBox-funktion. Här är några andra konstanter.
Konstant | Värde | Vad det betyder |
---|---|---|
vbOK | 1 | Användaren klickade OK. |
vbCancel | 2 | Användaren klickade på Avbryt. |
vbAbort | 3 | Användaren klickade Avbryt. |
vbRetry | 4 | Användaren klickade på Retry. |
vbIgnore | 5 | Användaren klickade Ignorera. |
vbYes | 6 | Användaren klickade på Ja. |
vbNo | 7 | Användarklick nr. |
Och det är ganska mycket allt du behöver veta om MsgBox-funktionen. Använd meddelandeboxar med försiktighet. Det finns vanligtvis ingen anledning att visa meddelandekartor som inte tjänar någon anledning. Till exempel tenderar folk att bli irriterad när de ser en meddelandelåda varje dag som läser god morgon. Tack för att du laddade budgetprojektionsarbetet.