Excel VBA MsgBox (viestilaatikko) - kaikki mitä sinun tarvitsee tietää!

Excel VBA: ssa voit käyttää MsgBox -toimintoa viestiruudun näyttämiseen (kuten alla):

MsgBox on vain valintaikkuna, jonka avulla voit informoida käyttäjiä näyttämällä mukautetun viestin tai hankkimalla joitain perustietoja (kuten Kyllä/Ei tai OK/Peruuta).

Kun MsgBox -valintaikkuna on näkyvissä, VBA -koodisi pysäytetään. Sinun on napsautettava mitä tahansa MsgBox -painiketta, jotta voit suorittaa jäljellä olevan VBA -koodin.

Huomautus: Tässä opetusohjelmassa käytän sanoja viestiruutu ja MsgBox vuorotellen. Kun käytät Excel VBA: ta, sinun on aina käytettävä MsgBox.

VBA MsgBoxin anatomia Excelissä

Viestiruudussa on seuraavat osat:

  1. Otsikko: Tätä käytetään yleensä näyttämään, mitä viestiruutu koskee. Jos et määritä mitään, se näyttää sovelluksen nimen - joka on tässä tapauksessa Microsoft Excel.
  2. Kysy: Tämä on viesti, jonka haluat näyttää. Tämän tilan avulla voit kirjoittaa pari riviä tai jopa näyttää taulukoita/tietoja tähän.
  3. Painikkeet: Vaikka OK on oletuspainike, voit mukauttaa sen näyttämään painikkeita, kuten Kyllä/Ei, Kyllä/Ei/Peruuta, Yritä uudelleen/Ohita jne.
  4. Sulje -kuvake: Voit sulkea viestiruudun napsauttamalla sulkukuvaketta.

VBA MsgBox -toiminnon syntaksi

Kuten mainitsin, MsgBox on funktio ja sen syntaksi on samanlainen kuin muiden VBA -toimintojen.

MsgBox (kehote [, painikkeet] [, otsikko] [, ohjetiedosto, konteksti])

  • kehote - Tämä on pakollinen argumentti. Se näyttää viestin, jonka näet MsgBoxissa. Esimerkissämme teksti "This is a sample MsgBox" is the "prompt". Voit käyttää kehotteessa enintään 1024 merkkiä ja käyttää sitä myös muuttujien arvojen näyttämiseen. Jos haluat näyttää kehotteen, jossa on useita rivejä, voit tehdä sen myös (lisätietoja tästä myöhemmin tässä opetusohjelmassa).
  • [painikkeet] - Se määrittää, mitä painikkeita ja kuvakkeita näytetään MsgBoxissa. Jos esimerkiksi käytän vbOkOnlyä, se näyttää vain OK -painikkeen, ja jos käytän vbOKCancelia, se näyttää sekä OK- että Peruuta -painikkeet. Käsittelen erilaisia ​​painikkeita myöhemmin tässä opetusohjelmassa.
  • [otsikko] - Tässä voit määrittää haluamasi tekstityksen viestin valintaikkunassa. Tämä näkyy MsgBoxin otsikkorivillä. Jos et määritä mitään, se näyttää sovelluksen nimen.
  • [helpfile] - Voit määrittää ohjetiedoston, jota voidaan käyttää, kun käyttäjä napsauttaa Ohje -painiketta. Ohjepainike tulee näkyviin vain, kun käytät siihen painikekoodia. Jos käytät ohjetiedostoa, sinun on määritettävä myös kontekstiargumentti.
  • [asiayhteys] - Se on numeerinen lauseke, joka on ohjeen kontekstin numero, joka on määritetty asianomaiselle ohjeaiheelle.

Jos olet uusi Msgbox -käsitteen kanssa, voit ohittaa [helpfile] - ja [context] -argumentit. Näitä olen harvoin nähnyt käytössä.

Huomautus: Kaikki hakasulkeissa olevat argumentit ovat valinnaisia. Vain "nopea" argumentti on pakollinen.

Excel VBA MsgBox -painikevakiot (esimerkkejä)

Tässä osassa käsittelen erityyppisiä painikkeita, joita voit käyttää VBA MsgBoxin kanssa.

Ennen kuin näytän sen VBA -koodin ja miltä MsgBox näyttää, tässä on taulukko, jossa luetellaan kaikki erilaiset painikevakiot, joita voit käyttää.

Painike Jatkuva Kuvaus
vbOKVain Näyttää vain OK -painikkeen
vbOKCancel Näyttää OK- ja Peruuta -painikkeet
vbAbortRetryIgnore Näyttää Keskeytä-, Yritä uudelleen- ja Ohita -painikkeet
vbKylläEi Näyttää Kyllä ja Ei -painikkeet
vbKylläEi Peruuta Näyttää Kyllä, Ei ja Peruuta -painikkeet
vbRetryCancel Näyttää Uudelleen- ja Peruuta -painikkeet
vbMsgBoxHelpButton Näyttää Ohje -painikkeen. Jotta tämä toimisi, sinun on käytettävä MsgBox -toiminnon ohjeita ja kontekstiargumenteja
vbOletuspainike 1 Asettaa ensimmäisen painikkeen oletusarvoksi. Voit muuttaa oletuspainiketta vaihtaaksesi numeron. Esimerkiksi vbDefaultButton2 asettaa toisen painikkeen oletusarvoksi

Huomautus: Käy läpi esimerkkejä eri painikkeiden luomisesta ja saatat ihmetellä, mitä järkeä näillä painikkeilla on, jos sillä ei ole vaikutusta koodiin.

Se tekee! Valinnan perusteella voit koodata mitä haluat koodin tekevän. Jos esimerkiksi valitset OK, koodin pitäisi jatkua, ja jos valitset Peruuta, koodin pitäisi pysähtyä. Tämä voidaan tehdä käyttämällä muuttujia ja määrittämällä Viestiruudun arvo muuttujalle. Käsittelemme tätä tämän opetusohjelman myöhemmissä osissa.

Katsotaanpa nyt joitain esimerkkejä siitä, kuinka eri painikkeet voidaan näyttää MsgBoxissa ja miltä se näyttää.

MsgBox -painikkeet - vbOKOnly (oletus)

Jos käytät vain kehotetta etkä määritä mitään argumentteja, saat oletusviestiruudun alla esitetyllä tavalla:

Alla on koodi, joka antaa tämän viestiruudun:

Sub DefaultMsgBox () MsgBox "Tämä on esimerkkilaatikko" End Sub

Huomaa, että tekstimerkkijonon on oltava lainausmerkeissä.

Voit myös käyttää painiketta vakio vbOKOnly, mutta vaikka et määritä mitään, se on oletusarvo.

MsgBox -painikkeet - OK ja Peruuta

Jos haluat näyttää vain OK- ja Peruuta -painikkeen, sinun on käytettävä vbOKCancel -vakio.

Sub MsgBoxOKCancel () MsgBox "Haluatko jatkaa?", VbOKCancel End Sub

MsgBox -painikkeet - Keskeytä, yritä uudelleen ja ohita

Voit käyttää ”vbAbortRetryIgnore” -vakiota näyttääksesi Keskeytä, yritä uudelleen ja Ohita -painikkeet.

Sub MsgBoxAbortRetryIgnore () MsgBox "Mitä haluat tehdä?", VbAbortRetryIgnore End Sub

MsgBox -painikkeet - Kyllä ja Ei

Voit käyttää ”vbYesNo” -vakiota näyttääksesi Kyllä- ja Ei -painikkeet.

Sub MsgBoxYesNo () MsgBox "Pitäisikö meidän lopettaa?", VbYesNo End Sub

MsgBox -painikkeet - Kyllä, Ei ja Peruuta

Voit käyttää ”vbYesNoCancel” -vakiota näyttääksesi Kyllä, Ei ja Peruuta -painikkeet.

Sub MsgBoxYesNoCancel () MsgBox "Pitäisikö meidän lopettaa?", VbYesNoCancel End Sub

MsgBox -painikkeet - Yritä uudelleen ja peruuta

Voit käyttää "vbRetryCancel" -vakiota näyttääksesi Yritä ja Peruuta -painikkeet.

Sub MsgBoxRetryCancel () MsgBox "Mitä haluat tehdä seuraavaksi?", VbRetryCancel End Sub

MsgBox -painikkeet - Ohje -painike

Voit käyttää vbMsgBoxHelpButton -vakiota näyttääksesi ohjepainikkeen. Voit käyttää sitä muiden painikevakioiden kanssa.

Sub MsgBoxRetryHelp () MsgBox "Mitä haluat tehdä seuraavaksi?", VbRetryCancel + vbMsgBoxHelpButton End Sub

Huomaa, että tässä koodissa olemme yhdistäneet kaksi eri painiketta vakioita (vbRetryCancel + vbMsgBoxHelpButton). Ensimmäisessä osassa on Uudelleen- ja Peruuta -painikkeet ja toisessa Ohje -painike.

MsgBox -painikkeet - Oletuspainikkeen asettaminen

Voit asettaa vakion 'vbDefaultButton1' asettaaksesi ensimmäisen painikkeen oletusarvoksi. Tämä tarkoittaa, että painike on jo valittu ja jos painat enter, se suorittaa kyseisen painikkeen.

Alla on koodi, joka asettaa toisen painikkeen ("Ei" -painikkeen) oletusarvoksi.

Sub MsgBoxOKCancel () MsgBox "Mitä haluat tehdä seuraavaksi?", VbYesNoCancel + vbDefaultButton2 End Sub

Useimmissa tapauksissa vasen-painike on oletuspainike. Voit valita muita painikkeita vbDefaultButton2-, vbDefaultButton3- ja vbDefaultButton4 -painikkeilla.

Excel VBA MsgBox -kuvakevakiot (esimerkkejä)

Painikkeiden lisäksi voit myös muokata kuvakkeita, jotka näkyvät MsgBox -valintaikkunassa. Sinulla voi olla esimerkiksi punainen kriittinen kuvake tai sininen tietokuvake.

Alla on taulukko, jossa luetellaan koodi, jossa näkyy vastaava kuvake.

Kuvake Jatkuva Kuvaus
vbKriittinen Näyttää kriittisen viestin kuvakkeen
vbKysymys Näyttää kysymyskuvakkeen
vb Huutomerkki Näyttää varoitusviestikuvakkeen
vbTiedot Näyttää tietokuvakkeen

MsgBox -kuvakkeet - kriittisiä

Jos haluat näyttää kriittisen kuvakkeen MsgBoxissa, käytä vbCritical -vakio. Voit käyttää tätä yhdessä muiden painikevakioiden kanssa (lisäämällä + -merkki koodien väliin).

Esimerkiksi alla on koodi, joka näyttää OK -oletuspainikkeen ja kriittisen kuvakkeen.

Sub MsgBoxCriticalIcon () MsgBox "Tämä on näytelaatikko", vbCritical End Sub

Jos haluat näyttää kriittisen kuvakkeen Kyllä- ja Ei -painikkeilla, käytä seuraavaa koodia:

Sub MsgBoxCriticalIcon () MsgBox "Tämä on näytelaatikko", vbYesNo + vbCritical End Sub

MsgBox -kuvakkeet - kysymys

Jos haluat näyttää kriittisen kuvakkeen MsgBoxissa, käytä vbQuestion -vakio.

Sub MsgBoxQuestionIcon () MsgBox "Tämä on näytelaatikko", vbYesNo + vbQuestion End Sub

MsgBox -kuvakkeet - Huutomerkki

Jos haluat näyttää huutokuvakkeen MsgBoxissa, käytä vbExclamation -vakio.

Sub MsgBoxExclamationIcon () MsgBox "Tämä on näytelaatikko", vbYesNo + vbExclamation End Sub

MsgBox -kuvakkeet - tiedot

Jos haluat näyttää tietokuvakkeen MsgBoxissa, käytä vbInformation -vakio.

Sub MsgBoxInformationIcon () MsgBox "Tämä on näytelaatikko", vbYesNo + vbInformation End Sub

Otsikon ja kehotteen mukauttaminen MsgBoxissa

Kun käytät MsgBoxia, voit muokata otsikkoa ja kehotusviestejä.

Toistaiseksi näkemämme esimerkki on käyttänyt Microsoft Exceliä otsikkona. Jos et määritä otsikkoargumenttia, MsgBox käyttää automaattisesti sovelluksen otsikkoa (joka on tässä tapauksessa ollut Microsoft Excel).

Voit muokata otsikkoa määrittämällä sen alla olevan koodin mukaisesti:

Sub MsgBoxInformationIcon () MsgBox "Haluatko jatkaa?", VbYesNo + vbQuestion, "Vaihe 1/3" Lopeta ala

Samalla tavalla voit myös mukauttaa kehotteen.

Voit myös lisätä rivinvaihdon kehoteviestiin.

Alla olevaan koodiin olen lisännyt rivinvaihdon käyttämällä "vbNewLine".

Sub MsgBoxInformationIcon () MsgBox "Haluatko jatkaa?" & vbNewLine & "Jatka napsauttamalla Kyllä", vbYesNo + vbQuestion, "Vaihe 1/3" Lopeta ala

Voit myös käyttää rivinvaihtomerkkiä - Chr (13) - tai rivinsyöttöä - Chr (10) lisätäksesi uuden rivin kehoteviestiin.

Huomaa, että voit lisätä uuden rivin vain kehoteviestiin etkä otsikkoon.

MsgBox -arvon määrittäminen muuttujalle

Toistaiseksi olemme nähneet esimerkkejä, joissa olemme luoneet viestiruutuja ja mukauttaneet painikkeita, kuvakkeita, otsikkoa ja kehotetta.

Painikkeen napsauttaminen ei kuitenkaan tehnyt mitään.

Excelin MsgBox -toiminnon avulla voit päättää, mitä haluat tehdä, kun käyttäjä napsauttaa tiettyä painiketta. Ja tämä on mahdollista, koska jokaisella painikkeella on arvo.

Jos napsautan Kyllä -painiketta, MsgBox -funktio palauttaa arvon (6 tai vakio vbYes), jota voin käyttää koodissani. Samoin, jos käyttäjä valitsee Ei -painikkeen, se palauttaa eri arvon ((7 tai vakio vbNo)), jota voin käyttää koodissa.

Alla on taulukko, joka näyttää tarkat arvot ja MsgBox -funktion palauttaman vakion. Sinun ei tarvitse muistaa näitä, ole vain tietoinen siitä ja voit käyttää helpommin käytettäviä vakioita.

Painiketta napsautettiin Jatkuva Arvo
Ok vbOk 1
Peruuttaa vbPeruuta 2
Keskeyttää vbAbort 3
Yritä uudelleen vbYritä uudelleen 4
Jättää huomiotta vbIlmoita 5
Joo vbKyllä 6
Ei vbEi 7

Katsotaanpa nyt, kuinka voimme hallita VBA -makrokoodia sen perusteella, mitä painiketta käyttäjä napsauttaa.

Jos käyttäjä napsauttaa alla olevassa koodissa Kyllä, siinä näkyy viesti "Klikkasit Kyllä", ja jos käyttäjä napsauttaa Ei, se näyttää "Klikkasit Ei".

Sub MsgBoxInformationIcon () Result = MsgBox ("Haluatko jatkaa?", VbYesNo + vbQuestion) Jos Result = vbYes Sitten MsgBox "Valitsit Kyllä" Muu: MsgBox "Valitsit Ei" Lopeta Jos Lopeta Sub

Yllä olevassa koodissa olen määrittänyt MsgBox -funktion arvon tulosmuuttujalle. Kun napsautat Kyllä -painiketta, tulosmuuttuja saa vbYes -vakion (tai numeron 6) ja kun valitset Ei, Result -muuttuja saa vbNo -vakion (tai numeron 7).

Sitten käytin If Then Else -rakennetta tarkistaakseni, onko Result -muuttujalla arvo vbYes. Jos näin on, se näyttää kehotteen "Klikkasit kyllä", muuten "Ei".

Voit käyttää samaa konseptia koodin suorittamiseen, jos käyttäjä valitsee Kyllä ja poistuu aliosasta, kun hän napsauttaa Ei.

Huomautus: Kun määrität MsgBox -lähdön muuttujalle, sinun on laitettava MsgBox -funktion argumentit sulkeisiin. Esimerkiksi rivillä Tulos = MsgBox ("Haluatko jatkaa?", VbYesNo + vbQuestion), näet, että argumentit ovat suluissa.

Jos haluat syventyä viestilaatikkotoimintoon, tässä on sen virallinen asiakirja.

Saatat pitää myös seuraavista Excel VBA -opetusohjelmista:

  • Excel VBA Split -toiminto.
  • Excel VBA InStr -toiminto.
  • Solujen ja alueiden käyttö Excel VBA: ssa.
  • Työskentely laskentataulukoiden kanssa VBA: ssa.
  • Työkirjojen käsittely VBA: ssa.
  • Silmukoiden käyttäminen Excel VBA: ssa.
  • Excel VBA -tietotyyppien (muuttujien ja vakioiden) ymmärtäminen
  • Kuinka luoda ja käyttää henkilökohtaista makro -työkirjaa Excelissä.
  • Hyödyllisiä Excel -makrokoodiesimerkkejä.
  • Seuraavan silmukan käyttäminen Excel VBA: ssa.
  • Excel VBA -tapahtumat - helppo (ja täydellinen) opas.
  • Makron suorittaminen Excelissä-täydellinen vaiheittainen opas.
  • Excel-apuohjelman luominen ja käyttö

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave