Video: Bjørn Kjos: Hvordan tilpasse seg fremtiden? 2025
Fleksibiliteten i VBA-knappargumentet 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 som er standard (standardknappen er "klikket" hvis brukeren trykker på Enter).
Du kan bruke innebygde konstanter for knappene argumentet. Hvis du foretrekker det, kan du bruke verdien i stedet for en konstant (men bruk av de innebygde konstanter er mye enklere).
For å bruke mer enn en av disse konstantene som argument, bare koble dem til en + operatør. Hvis du for eksempel vil vise en meldingskasse med Ja og Nei knapper og et utropstegn, bruker du følgende uttrykk som det andre MsgBox-argumentet:
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 meldingskasse med en Ja-knapp og en Nei-knapp (vbYesNo), samt et spørsmålstegnikon (vbQuestion). Den konstante vbDefaultButton2 betegner den andre knappen (No) som standardknappen - det vil si knappen som klikkes hvis brukeren trykker Enter. For enkelhets skyld blir disse konstantene tilordnet Config-variabelen, og bruker deretter Config som det andre argumentet i MsgBox-funksjonen:
Sub GetAnswer3 () Dim Config så lenge Dim Ans som integer Config = vbYesNo + vbQuestion + vbDefaultButton2 Ans = MsgBox ("Behandle månedlig rapport?", Konfig) Hvis Ans = vbYes Så RunReport End Sub
Sjekk meldingsboksen Excel vises når du utfører GetAnswer3-prosedyren. Hvis brukeren klikker Ja-knappen, utfører rutinen prosedyren kalt RunReport. Hvis brukeren klikker på No-knappen (eller trykker Enter), avslutter rutinen uten handling. Fordi tittelargumentet ble utelatt i MsgBox-funksjonen, bruker Excel standardtittelen, Microsoft Excel.
Følgende rutine gir et annet eksempel på bruk av MsgBox-funksjonen:
Sub GetAnswer4 () Dim Msg Som String, Tittel Som String Dim Config As Integer, Ans Som Integer Msg = "Ønsker du å behandle månedlig rapport? "Msg = Msg & vbNewLine & vbNewLine Msg = Msg &" Ved å behandle månedsrapporten vil "Msg = Msg &" ta ca. 15 minutter. Det "Msg = Msg &" vil generere en 30-siders rapport for "Msg = Msg &" alle salgskontorer for gjeldende "Msg = Msg &" måned. "Tittel =" XYZ Marketing Company "Config = vbYesNo + vbQuestion Ans = MsgBox (Msg, Config, Tittel) Hvis Ans = vbYes Then RunReport End Sub
Dette eksemplet viser en effektiv måte å spesifisere en lengre melding i en meldingsboks på.En variabel (Msg) og sammenkoblingsoperatøren (&) brukes til å bygge meldingen i en rekke setninger. VbNewLine-konstanten setter inn et linjeskift som starter en ny linje (bruk den to ganger for å sette inn en tom linje). Tittelargumentet brukes til å vise en annen tittel i meldingsboksen. Her vises meldingsboksen Excel når du utfører denne prosedyren.
Du kan bruke konstanter (for eksempel vbYes og vbNo) for returverdien til en MsgBox-funksjon. Her er noen andre konstanter.
Konstant | Verdi | Hva det betyr |
---|---|---|
vbOK | 1 | Brukeren klikket OK. |
vbCancel | 2 | Brukeren klikket Avbryt. |
vbAbort | 3 | Bruker klikket Avbryt. |
vbRetry | 4 | Brukeren klikket på Prøv igjen. |
vbIgnore | 5 | Bruker klikket Ignorer. |
vbYes | 6 | Brukeren klikket Ja. |
vbNo | 7 | Bruker klikket nr. |
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 ikke tjener noe formål. For eksempel har folk en tendens til å bli irritert når de ser en meldingsboks hver dag som leser God morgen. Takk for at du lastet inn arbeidsboken for budsjettprojeksjon.
