Valószínűleg ismeri a VBA MsgBox funkciót. Az MsgBox függvény, amely elfogadja az alább látható érveket, hasznos információk megjelenítéséhez és egyszerű felhasználói bevitelhez. Képes felhasználói bevitelt kapni, mert ez egy funkció. A függvény, mint valószínűleg tudja, értéket ad vissza. Az MsgBox függvény esetén egy párbeszédpanelt használ a visszaadott érték lekéréséhez. Olvassa tovább, hogy megtudja, hogyan működik pontosan.
| Érv |
Mit érint |
| Gyors |
Az Excel szöveg jelenik meg az üzenetmezőben |
| Gombok |
Egy szám, amely meghatározza, hogy mely gombok (az ikonnal együtt)
jelenjenek meg az üzenetmezőben (opcionális) |
| Cím |
Az üzenetmező címsorában megjelenő szöveg
(nem kötelező) |
Íme az MsgBox függvény szintaxisának egyszerűsített változata:
MsgBox(prompt[, gombok][, cím])
Egy egyszerű üzenetdoboz megjelenítése
Az MsgBox funkciót kétféleképpen használhatja:
-
Egy üzenet megjelenítése a felhasználónak: Ebben az esetben Önt nem érdekli a függvény által visszaadott eredmény.
-
Ha választ szeretne kapni a felhasználótól: Ebben az esetben Önt érdekli a függvény által visszaadott eredmény. Az eredmény attól függ, hogy a felhasználó melyik gombra kattint.
Ha önmagában az MsgBox függvényt használja, ne írjon zárójeleket az argumentumok köré. A következő példa egyszerűen egy üzenetet jelenít meg, és nem ad vissza eredményt. Az üzenet megjelenésekor a kód leáll, amíg a felhasználó az OK gombra nem kattint.
Sub MsgBoxDemo()
MsgBox „A nyomtatás megkezdéséhez kattintson az OK gombra.
Lapok („Eredmények”). Nyomtatás
Vége Sub
Tekintse meg alább, hogyan néz ki ez az üzenetmező. Ebben az esetben a nyomtatás akkor kezdődik, amikor a felhasználó az OK gombra kattint. Észreveszi, hogy nincs mód a nyomtatás megszakítására? Olvassa tovább, hogy megtudja, hogyan javíthatja ki.

Egy egyszerű üzenetdoboz.
Válasz fogadása egy üzenetdobozból
Ha olyan üzenetablakot jelenít meg, amelyben nem csak egy OK gomb található, akkor valószínűleg tudnia kell, hogy a felhasználó melyik gombra kattint. Szerencséd van. Az MsgBox függvény visszaadhat egy értéket, amely azt jelzi, hogy melyik gombra kattintottak. Az MsgBox függvény eredményét hozzárendelheti egy változóhoz.
A következő kódban néhány beépített állandót használnak, amelyek megkönnyítik az MsgBox által visszaadott értékekkel való munkát:
Sub GetAnswer()
Dim Ans As Long
Ans = MsgBox ("Elkezdi a nyomtatást?", vbYesNo)
Válassza a Case Ans
Case vbIgen
ActiveSheet.PrintOut
ügy vbNo
MsgBox „Nyomtatás megszakítva”
Vége kiválasztása
Vége Sub
| Állandó |
Érték |
Mit csinál |
| vbOKOnly |
0 |
Csak az OK gombot jeleníti meg. |
| vbOKMégse |
1 |
Megjeleníti az OK és a Mégse gombokat. |
| vbAbortRetryIgnore |
2 |
Megjeleníti az Abort, Retry és Ignore gombokat. |
| vbYesNoCancel |
3 |
Megjeleníti az Igen, Nem és Mégse gombokat. |
| vbIgenNem |
4 |
Megjeleníti az Igen és a Nem gombokat. |
| vbRetryCancel |
5 |
Megjeleníti az Újrapróbálkozás és Mégse gombokat. |
| vbCritical |
16 |
Megjeleníti a Kritikus üzenet ikont. |
| vbQuestion |
32 |
Megjeleníti a Figyelmeztető lekérdezés ikont. |
| vb Felkiáltójel |
48 |
Megjeleníti a Figyelmeztető üzenet ikont. |
| vbInformáció |
64 |
Információs üzenet ikont jelenít meg. |
| vbDefaultButton1 |
0 |
Az első gomb az alapértelmezett. |
| vbDefaultButton2 |
256 |
A második gomb az alapértelmezett. |
| vbDefaultButton3 |
512 |
A harmadik gomb az alapértelmezett. |
| vbDefaultButton4 |
768 |
A negyedik gomb az alapértelmezett. |
Nézze meg, hogyan néz ki. Amikor végrehajtja ezt az eljárást, az Ans változóhoz vagy a vbYes vagy a vbNo értéket rendeli, attól függően, hogy a felhasználó melyik gombra kattint. A Select Case utasítás az Ans értéket használja annak meghatározására, hogy a kódnak melyik műveletet kell végrehajtania.

Egy egyszerű üzenetdoboz, két gombbal.
Az MsgBox függvény eredményét változó használata nélkül is használhatja, amint azt a következő példa mutatja:
Sub Get Answer2()
Ha MsgBox(“Indítsa el a nyomtatást?”, vbYesNo) = vbYes Akkor
' ...[kód, ha az Igen gombra kattint]…
Más
' ...[kód, ha az Igen nincs rákattintva]…
Vége Ha
Vége Sub