Hvordan bruke MsgBox funksjon i Excel 2016 VBA

Du er sikkert kjent med VBA MsgBox funksjonen. Den MsgBox-funksjonen, som aksepterer argumentene som vises nedenfor, er nyttig for å vise informasjon og få enkel brukerundersøkelser. Det er i stand til å få brukerundersøkelser fordi det er en funksjon. En funksjon, som du sikkert vet, returnerer en verdi. I tilfelle av MsgBox funksjonen, bruker den en dialogboks for å få verdien som den returnerer. Hold lesing for å se nøyaktig hvordan det fungerer
ArgumentWhat Det AffectsPromptThe tekst Excel vises i meldingen boxButtonsA tall som angir hvilke knapper (sammen med hvilke ikoner) vises i meldingsboksen (valgfritt) TitleThe tekst som vises i meldingsboksen &rsquo.; tittellinje (valgfritt)

Her er en forenklet versjon av syntaksen i MsgBox funksjon:
MsgBox (spør [, knapper] [, tittel])
Vise et enkelt budskap boks

du kan bruke MsgBox funksjonen på to måter:

å bare vise en melding til brukeren.
i dette tilfellet, trenger du ikke bryr seg om resultatet returneres av funksjonen


For å få et svar fra brukeren:
i dette tilfellet, du bryr deg om resultatet returneres av funksjonen. Resultatet avhenger av knappen som brukeren klikker.

Hvis du bruker MsgBox funksjon av seg selv, ikke inkluderer parentes rundt argumentene. Følgende eksempel viser bare en melding og returnerer ikke et resultat. Når meldingen vises, stopper kode inntil brukeren klikker OK.
Sub MsgBoxDemo () MsgBox "Klikk OK for å starte utskriften." Sheets ( "Resultater"). PrintOutEnd Sub

Se under for å se hvordan denne meldingen boksen ser. I dette tilfellet, starter utskriften når brukeren klikker OK. Legger du merke til at det er ingen måte å avbryte utskrift? Hold lesing for å finne ut hvordan du kan fikse det., En enkel meldingsboksen.
Får svar fra en meldingsboks

Hvis du vil vise en meldingsboks som har mer enn bare en OK-knapp, du vil sannsynligvis ønske å vite hvilken knapp brukeren klikker. Du er på hell. Den MsgBox funksjonen kan returnere en verdi som representerer som klikkes. Du kan tilordne resultatet av MsgBox funksjonen til en variabel

I følgende kode, noen innebygde konstanter blir brukt som gjør det enkelt å jobbe med de verdiene som returneres av MsgBox.
Sub GetAnswer ( ) Dim Ans så lenge Ans = MsgBox ( "Start utskriften?», vbYesNo) Velg sak Ans sak vbYes ActiveSheet.PrintOut sak vbNo MsgBox "utskrift avbrutt" End SelectEnd SubConstantValueWhat Det DoesvbOKOnly0Displays OK-knappen only.vbOKCancel1Displays OK og Avbryt buttons.vbAbortRetryIgnore2Displays Abort, Prøv på nytt, og ignorere buttons.vbYesNoCancel3Displays ja, nei, og Avbryt buttons.vbYesNo4Displays Ja og Nei buttons.vbRetryCancel5Displays Prøv på nytt og Avbryt buttons.vbCritical16Displays Kritiske melding icon.vbQuestion32Displays Advarsel Kriterier icon.vbExclamation48Displays advarsel icon.vbInformation64Displays informasjon Melding icon.vbDefaultButton10First knappen er default.vbDefaultButton2256Second knappen er default.vbDefaultButton3512Third knappen er default.vbDefaultButton4768Fourth knappen er standard.

Sjekk ut hvordan det ser ut. Når du utfører denne prosedyren, er Ans variabelen som er tildelt en verdi på enten vbYes eller vbNo, avhengig av hvilken knapp brukeren klikker. Den Select sak uttalelse bruker Ans verdien til å bestemme hvilke tiltak koden skal utføre., En enkel meldingsboks med to knapper.

Du kan også bruke MsgBox funksjonen resultat uten å bruke en variabel, som følgende eksempel viser :
Sub GetAnswer2 () Hvis MsgBox ( "Start utskriften?», vbYesNo) = vbYes Then '... [code hvis Ja klikkes] ... Else' ... [code hvis Ja ikke klikkes] ... End IfEnd sub