Fleksibiliteten i VBA knapper argument gjør det enkelt å tilpasse Excel meldingsbokser. Du kan velge hvilke knapper som skal vises, avgjøre om et ikon vises, og bestemme hvilken knapp er standard (standard knappen er "klikket" hvis brukeren trykker Enter).
Du kan bruke innebygde konstanter for knappene argument. Hvis du vil, kan du bruke verdien i stedet for en konstant (men ved hjelp av den innebygde konstanter er mye enklere).
Hvis du vil bruke mer enn én av disse konstanter som et argument, bare koble dem med en + operatør. For eksempel, for å vise en meldingsboks med Ja- og Nei-knapper og et utrops ikon, kan du bruke følgende uttrykk som andre MsgBox argument:
vbYesNo + vbExclamation
Eller, hvis du foretrekker å gjøre koden mindre forståelig, bruk en verdi på 52 (det vil si 4 + 48).
Følgende eksempel bruker en kombinasjon av konstanter for å vise en meldingsboks med en Ja-knapp og en Nei-knappen (vbYesNo) samt et spørsmålstegn ikonet (vbQuestion). Den konstante vbDefaultButton2 utpeker den andre knappen (No) som standardknapp - det vil si på knappen som er klikket hvis brukeren trykker Enter. For enkelhets skyld er disse konstanter tildelt variabelen Config og deretter bruke Config som det andre argumentet i MsgBox funksjon:
Sub GetAnswer3 () Dim Config As Long Dim Ans As Integer Config = vbYesNo + vbQuestion + vbDefaultButton2 Ans = MsgBox ( "Prosess den månedlige rapporten?", Config) Hvis Ans = vbYes Da RunReportEnd Sub
Sjekk ut meldingsboksen Excel vises når du utfører GetAnswer3 prosedyren. Hvis brukeren klikker på Ja, utfører rutine prosedyren heter RunReport. Hvis brukeren klikker på Nei-knappen (eller trykk Enter), ender rutine med ingen handling. Fordi tittelen argument ble utelatt i MsgBox-funksjonen, bruker Excel standardtittelen, Microsoft Excel.
MsgBox funksjonsknapper argument avgjør hva som vises i meldingsboksen.
Følgende rutine gir et annet eksempel på bruk av MsgBox funksjonen :
Sub GetAnswer4 () Dim Msg As String, Tittel As String Dim Config As Integer, Ans As Integer Msg = "Vil du behandle den månedlige rapporten?" Msg = Bes & vbNewLine & vbNewLine Msg = Bes & "Behandling av månedsrapporten vil" Msg = Bes & "Ta ca 15 minutter. Det "Msg = Bes & "Vil generere en rapport 30-siden for" Msg = Bes & "Alle salgskontorer for dagens" Msg = Bes & "Måned." Title = "XYZ Marketing Company" Config = vbYesNo + vbQuestion Ans = MsgBox (MSG, Config, tittel) Hvis Ans = vbYes Så RunReportEnd Sub
Dette eksemplet viser en effektiv måte å angi en lengre melding i en melding eske. En variabel (Msg) og sammensetning operatør (&) brukes til å bygge meldingen i en rekke utsagn. Den vbNewLine konstant setter inn et linjeskift karakter som starter en ny linje (bruk det to ganger for å sette inn en blank linje). Tittelen argumentet brukes til å vise en annen tittel i meldingsboksen. Her er meldingsboksen Excel vises når du utfører denne prosedyren.
Denne dialogboksen vises av MsgBox funksjon, viser en tittel, et ikon, og to knapper.
Du kan bruke konstanter (som vbYes og vbNo ) for returverdi av en MsgBox funksjon. Her er noen andre konstanter.
ConstantValueWhat Det MeansvbOK1User klikket OK.vbCancel2User klikket Cancel.vbAbort3User klikket Abort.vbRetry4User klikket Retry.vbIgnore5User klikket Ignore.vbYes6User klikket Yes.vbNo7User klikket No.
Og det er stort sett alt du trenger å vite om MsgBox funksjonen. Bruk meldingsbokser med forsiktighet, skjønt. Det er vanligvis ingen grunn til å vise meldingsbokser som tjener ingen hensikt. For eksempel, folk har en tendens til å bli irritert når de ser en meldingsboks hver dag som leser God morgen. Takk for lasting av Budget Projection arbeidsbok. Anmeldelser