Video: Sådan tilpasser og afkorter du et lamelgardin | DEBEL 2024
Fleksibiliteten i VBA-knapper argumentet gør det nemt at tilpasse dine Excel-meddelelsesbokse. Du kan vælge hvilke knapper der skal vises, bestemme om et ikon vises, og bestemme hvilken knap der er standard (standardknappen er "klikket", hvis brugeren trykker på Enter).
Du kan bruge indbyggede konstanter til knapperne argumentet. Hvis du foretrækker det, kan du bruge værdien i stedet for en konstant (men ved hjælp af de indbyggede konstanter er det meget lettere).
For at bruge mere end en af disse konstanter som argument, skal du blot forbinde dem med en + operatør. Hvis du f.eks. Vil vise en meddelelsesboks med ja og nej knapper og et udråbstegn, skal du bruge følgende udtryk som det andet MsgBox-argument:
vbYesNo + vbExclamation
Eller hvis du foretrækker at gøre din kode mindre forståelig, skal du bruge en værdi på 52 (det vil sige 4 + 48).
Følgende eksempel bruger en kombination af konstanter til at vise en meddelelsesboks med en Ja-knap og en Nej-knap (vbYesNo) samt et spørgsmålstegnikon (vbQuestion). Den konstante vbDefaultButton2 angiver den anden knap (Nej) som standardknappen - det vil sige den knap, der klikkes, hvis brugeren trykker på Enter. For enkelhed er disse konstanter tildelt Config-variablen og bruger derefter Config som det andet argument i MsgBox-funktionen:
Sub GetAnswer3 () Dim Config så lang Dim Ans som integer Config = vbYesNo + vbQuestion + vbDefaultButton2 Ans = MsgBox ("Proces månedlig rapport?", Config) Hvis Ans = vbYes Så KørReport End Sub
Tjek meddelelsesboksen Excel vises, når du udfører GetAnswer3-proceduren. Hvis brugeren klikker på knappen Ja, udfører rutinen proceduren ved navn RunReport. Hvis brugeren klikker på Nej-knappen (eller trykker Enter), slutter rutinen uden handling. Fordi titel-argumentet blev udeladt i MsgBox-funktionen, bruger Excel standardtitel, Microsoft Excel.
Følgende rutine giver et andet eksempel på brugen af MsgBox-funktionen:
Sub GetAnswer4 () Dim Msg As String, Titel Som String Dim Config As Integer, Ans As Integer Msg = "Vil du behandle månedsrapporten? "Msg = Msg & vbNewLine & vbNewLine Msg = Msg &" Ved at behandle den månedlige rapport vil "Msg = Msg &" tage ca. 15 minutter. Det "Msg = Msg &" vil generere en 30-siders rapport for "Msg = Msg &" alle salgskontorer for den aktuelle "Msg = Msg &" måned. "Titel =" XYZ Marketing Company "Config = vbYesNo + vbQuestion Ans = MsgBox (Msg, Config, Title) Hvis Ans = vbYes Then RunReport End Sub
Dette eksempel viser en effektiv måde at angive en længere besked i en meddelelsesboks.En variabel (Msg) og sammenkoblingsoperatøren (&) bruges til at opbygge meddelelsen i en række sætninger. VbNewLine konstanten indsætter et linjeskift tegn, der starter en ny linje (brug den to gange for at indsætte en tom linje). Titel argumentet bruges til at vise en anden titel i meddelelsesboksen. Her vises meddelelsesboksen Excel, når du udfører denne procedure.
Denne dialogboks, der vises af MsgBox-funktionen, viser en titel, et ikon og to knapper.Du kan bruge konstanter (som vbYes og vbNo) til returværdien af en MsgBox-funktion. Her er et par andre konstanter.
Konstant | Værdi | Hvad det betyder |
---|---|---|
vbOK | 1 | Bruger klikket OK. |
vbCancel | 2 | Bruger klikket på Cancel. |
vbAbort | 3 | Bruger klikket Afbryd. |
vbRetry | 4 | Bruger klikket på Prøv igen. |
vbIgnore | 5 | Bruger klikket Ignorer. |
vbYes | 6 | Bruger klikket Ja. |
vbNo | 7 | Bruger klikket nr. |
Og det er stort set alt hvad du behøver at vide om MsgBox-funktionen. Brug meddelelsesbokse med forsigtighed. Der er normalt ingen grund til at vise meddelelsesbokse, der ikke tjener noget formål. For eksempel har folk en tendens til at blive irriteret, når de ser en beskedboks hver dag, der læser Godmorgen. Tak fordi du læste budgetprojektionsarbejdsbogen.