Vba eszköz információk megjelenítéséhez. Üzenetdoboz VBA Excelben – MsgBox Vba billentyűzet bemenet
A program eredményeinek és egyéb üzeneteknek a kimenete (továbbítása a felhasználóhoz) az üzenet párbeszédablakon keresztül történik.
Az információ kimenetének megszervezéséhez egy beépített funkciót használnak MsgBox.
Fontolja meg a felhasználási lehetőségeket.
1. y = Négyzet (16)
MsgBox y
2. S=99
MsgBox("S= ” & S)
ez egy jel összefűzés – és és;
több sor egyesítésére szolgál
3. a=5: b=101
MsgBox("a="& a & " " & "b=" &b)
4. MsgBox("a=" & a & Chr(13) & "b=" & b)
ezzel a funkcióval írja be átmeneti szimbólum
új vonalra(számot karakterré alakít)
Munka Excel objektumokkal
Excel objektummodell egy objektumnak alárendelt objektumok hierarchiáját képviseli Alkalmazás, ami megfelel nál nél Excel alkalmazás. Objektumok excel vannak munkafüzetek, munkalapok, diagramok, cellatartományok, cellák stb.
A VBA képes programozottan manipulálni ezen objektumok bármelyikét.
Minden egy tárgy van egy készlete tulajdonságait, módÉs eseményeket.
Ingatlan egy objektum jellemzője vagy paramétere.
Módszer egy olyan művelet, amelyet egy objektum végrehajthat.
Esemény olyan művelet, amelyre az objektum automatikusan reagál.
kezelni az objektumotVBA3 módon lehetséges:
egy objektum tulajdonságainak megváltoztatása;
az objektumhoz társított metódus meghívásával;
egy eseményre adott válaszként lefutó eljárás meghatározása.
Információk megjelenítése Excel cellában
sejtszerű Excel objektum egy VBA programban van jelölve Cellák (i, j), Ahol én- sorszám j a táblázat oszlopának száma.
Y
Jelentése Y megjelenik az aktív lapon munkafüzet Excel cellába B3
Cells(3, 2) = Y
VAL VEL
változó Bérték lesz hozzárendelve amelyet a cellában tárolnak C5 (azaz a cellatartalom C5)
B = Cellák(5, 3)
vba beviteli eszköz
A felhasználótól származó információbevitel a beviteli párbeszédpanelen keresztül történik. Beépített funkcióval megvalósítva InputBox.
Dim x As Single
x = Val(InputBox("Enter x"))
Funkció InputBox a beviteli mezőbe beírt karaktersorozatot adja vissza ( 15 ) adattípusként Húr(húr). beépített funkció Val() karakterlánc-értéket alakít át beviteli mezőből numerikus értékké.
Lineáris számítási folyamatok
Lineáris algoritmus jellemzi a blokkok végrehajtásának szigorú sorrendje a sémában való elhelyezkedésük sorrendjében - felülről lefelé. Nincsenek feltételes blokkok. Minden blokk egyszer végrehajtásra kerül.
1. példa Számítsa ki a függvény értékét
k = 33,5 x = 17-nél
1. Állítsunk össze egy algoritmust a probléma megoldására.
2. A kódszerkesztő ablakban írja be a program kódját:
Explicit opció
Sublinear_Process()
Dim k As Single, x As Single, y As Single‘változódeklaráció
x = Val(InputBox("Adja meg az x értéket"))
y = k * Exp(Sin(x))
MsgBox "y=" & y' megjeleníti az eredményt egy párbeszédpanelen
vége al
Csapat Explicit opció köteles az adott programban szereplő összes változót deklarálni. Csak egy modul deklarációs részében helyezhető el.
1. InputBox funkció
Az InputBox függvény a következő szintaxissal rendelkezik:
Változó = InputBox(Prompt[, Title] [, default] [, Xpos] [, Ypos] [, help_file, content])
Ehhez a függvényhez csak egy argumentum szükséges. MeghívásÉrvérték Meghívás ennek a függvénynek az egyetlen kötelező argumentuma, ez szolgál szöveges karakterlánc, amely üzenetként jelenik meg a beviteli párbeszédpanelen. Ennek a szövegnek benne kell lennie dupla idézőjelek.
Érv fejléc
Érv alapértelmezett beállítja azt az értéket, amely alapértelmezés szerint megjelenik a beviteli mezőben, amíg a felhasználó be nem írja az értékét. Ha ez az argumentum kimarad, a beviteli mező üresen jelenik meg.
Választható érvek XposÉs Yposállítsa be a beviteli ablak pozícióját a képernyőn. Érvek help_fileÉs tartalom
Az InputBox függvény visszatérési értéke a felhasználó által a beviteli mezőbe beírt érték.
2. MsgBox funkció
Az üzenetdobozt az MsgBox függvény hozza létre, amelynek szintaxisa a következő:
Változó = MsgBox(Prompt[, Buttons] [, Title [, help_file, tartalom])
Érvérték Meghívás- az egyetlen kötelező argumentum ehhez a függvényhez egy szöveges karakterlánc, amely üzenetként jelenik meg a párbeszédpanelen. Ezt a szöveget idézőjelek közé kell tenni. Vegye figyelembe a zárójelek használatát az MsgBox szintaxisában – ezek azt jelzik, hogy ebben az esetben az MsgBox egy olyan függvény, amely valamilyen értéket ad vissza. Ha a zárójeleket kihagyjuk, akkor a VBA esetében ez annak a jele adott kifejezés nem ad vissza értéket. Ha értéket szeretne visszaadni, a következő kódot kell használnia:
Dim i As Integer
Az ilyen kód VBA-ban való futtatásának eredménye egy párbeszédpanel lesz három gombbal: "Igen", "Nem", "Mégse" és egy felkiáltójel ikonnal egy sárga háromszögben.
Ha nem adnak érvet Gombok, akkor a VBA csak egy „OK” gombot kínál. Érv Gombok lehetővé teszi a következő üzenetmező-beállítások vezérlését:
¨ Az ablakban lévő gombok száma.
¨ A gombok típusai és x elhelyezése az ablakban.
¨ Az ablakban megjelenő ikonok.
¨ Melyik gomb van alapértelmezés szerint hozzárendelve.
¨ Az üzenetablak módja (modalitása).
Az 1. táblázat mutatja az argumentum lehetséges beállításait. Az első értékcsoport a gombok számát és típusát állítja be. A második lehetővé teszi az ablakban megjelenő ikon kiválasztását. A harmadik hozzárendel egy alapértelmezett gombot. A negyedik csoport az üzenetdoboz módot állítja be. Egy argumentum végső értékének létrehozása Gombok minden csoportból csak egy értéket használhat, ha azokat pluszjellel kombinálja.
Csoport | Állandó | Jelentése | Leírás |
1. csoport | vbOKOnly | Csak az OK gombot jeleníti meg (alapbeállítás) | |
VbOKMégse | Megjeleníti az OK és a Mégse gombokat | ||
VbAbortRetryIgnore | Megjeleníti a Stop, Repeat és Skip gombokat. | ||
VbYesNoCancel | Megjeleníti az Igen, Nem és Mégse gombokat | ||
vbIgenNem | Megjeleníti az Igen és a Nem gombokat | ||
VbRetryCancel | Megjeleníti az Újra és Mégse gombokat | ||
2. csoport | VbCritical | Megjelenít egy tiltó ikont | |
VbQuestion | |||
VbFelkiáltás | Figyelmeztető ikont jelenít meg | ||
VbInformáció | Információs ikont jelenít meg | ||
3. csoport | VbDefaultButton1 | Az első gomb az alapértelmezett gomb | |
VbDefaultButton2 | A második gomb az alapértelmezett gomb | ||
VbDefaultButton3 | A harmadik gomb az alapértelmezett gomb | ||
VbDefaultButton4 | A negyedik gomb az alapértelmezett gomb | ||
4. csoport | VbApplicationModal | Alkalmazás mód: A felhasználónak be kell zárnia az üzenetdobozt, mielőtt folytatná az aktuális alkalmazást | |
VbSystemModal | Rendszer mód: az összes alkalmazás nem érhető el, amíg a felhasználó be nem zárja az üzenetdobozt | ||
További csoport | vbMsgBoxHelpButton | Megjelenít egy Súgó gombot | |
vbMsgBoxSetForeground | Az üzenetdobozt az előtér ablakává teszi | ||
vbMsgBoxRight | Üzenetdobozt jelenít meg az alkalmazás ablakának jobb széléhez igazítva | ||
vbMsgBoxRtlReading | Héber és arab esetén megadja, hogy a szöveget jobbról balra kell megjeleníteni. |
Tab. 1. Érvbeállítások Gombok MsgBox funkciók
Annak érdekében, hogy ne hibázzon az argumentumértékek megadásakor Gombok, használja a „+” jel beírása után megjelenő konstanslistát. A "+" jel több állandó kombinálására szolgál összetett argumentum megadásakor Gombok.
Érv fejléc A beviteli ablak címsorába kerülő szöveg megadására szolgál. Ha ez az argumentum nincs megadva, a Microsoft Excel megjelenik a címsorban.
Érvek help_fileÉs tartalom akkor használatosak, ha saját súgórendszert hoz létre az alkalmazáshoz.
A 2. táblázat felsorolja az MsgBox függvény által visszaadott értékeket . A visszatérési érték a felhasználó által megnyomott gombtól függ.
Visszatérési érték | Gomb |
rendben | |
Megszünteti | |
Állj meg | |
Ismétlés | |
Kihagyás | |
Igen | |
Nem |
Tab. 2. Az MsgBox függvény által visszaadott értékek
Legjobb típus Az MsgBox függvény visszatérési változója Integer.
Tartomány és cellák objektumok
A VBA-ban a munkalap celláit Range objektumként kezeli. Ez a leggyakrabban használt elem.
A Range objektum az A1 formátumot használja, amikor cellákkal dolgozik.
A1 formátum. A hivatkozás egy oszlopnévből (A-tól IV-ig terjedő betűkkel jelölve, legfeljebb 256 oszlop) és egy sorszámból (1-től 65536-ig) áll. Például A77. Egy cellatartományra való hivatkozáshoz a tartomány bal felső és jobb alsó cellájának címét kettősponttal elválasztva kell megadni. Például B10:B20, 7:7 (a 7. sor összes cellája), 5:10 (az 5. és 10. sor közötti összes cella), D:D (a D oszlop összes cellája), H: J (az összes cella között H és J oszlopot beleértve). Az abszolút hivatkozás egy dollárjel a sor vagy oszlop neve előtt.
A Cells objektum az R1C1 formátumot használja, amikor cellákkal dolgozik.
R1C1 formátum. Az R1C1 formátumban az "R" betű után a cella sorszáma, a "C" betű után az oszlop száma látható. Például az R1C1 abszolút hivatkozás megegyezik az A1 formátum $A$1 abszolút hivatkozásával. Relatív hivatkozás beállításához az aktív cellához viszonyított eltolást kell megadni. A keverés szögletes zárójelben van feltüntetve. A jel az elmozdulás irányát jelzi. Például R[-3]C (egy relatív cellahivatkozás három sorral magasabban ugyanabban az oszlopban). RC (relatív cellahivatkozás két sorral lefelé és két oszloppal jobbra). R2C2 (abszolút hivatkozás a második sorban és a második oszlopban található cellára). R[-1] (relatív hivatkozás a fenti sorra aktuális cella), R (abszolút hivatkozás az aktuális vonalra).
A cella teljes címe tartalmazhatja a dolgozó nevét és a könyv címét is. A lap neve után a "!" jel kerül, és benne van a könyv címe szögletes zárójelek. Például: [Könyv1.xls]Sheet5!D$2.
A Range objektum lehet:
§ külön cella;
§ kiválasztott cellatartomány;
§ több kiválasztott cellatartomány (azaz nem szomszédos tartományok halmaza);
§ sor és oszlop;
§ egy háromdimenziós tartomány (azaz különböző munkalapokon elhelyezkedő tartományokból áll).
Tartomány és cellák objektum tulajdonságai
Tulajdonságok | Leírás és érvényes értékek |
érték | Értéket ad vissza egy cellából vagy tartományból (cellába vagy tartományba): X=Tartomány("A1").Értéktartomány("A1").Érték=10 |
Név | A tartomány nevét adja vissza: Range("B1:B4").Name="Alkalmazás" |
cím | A tartomány aktuális pozícióját adja vissza |
Számol | Egy tartomány celláinak számát adja vissza |
beszámítás | Egy tartomány eltolási értékét adja vissza a másikhoz képest |
átméretezni | Lehetővé teszi az aktuális tartomány kiválasztását |
CurrentRegion | A megadott cellát tartalmazó, üres sorral és oszloppal elválasztott aktuális tartományt adja vissza. |
wraptext | Igaz (hamis) – lehetővé teszi (nem engedélyezi) a szöveg tördelését egy tartományba való belépéskor. |
EntireColumn, EntireRow | Egy sort és egy oszlopot ad vissza. |
ColumnWidth, RowHeight | Egy tartomány oszlopszélességét és sormagasságát adja vissza. |
Betűtípus | Egy Font objektumot ad vissza. Például: Munkalapokkal (“Z3”). Tartomány (“F10”). Betűtípus .Méret=22 .Bold=True .Dőlt=Igaz Vége ezzel |
Képlet | Képlet A1 formátumban. Például így írhat be egy képletet a C2 cellába: Tartomány(“C2”).Formula=”=$B$2+$A$2” |
FormulaLocal | Képlet A1 formátumban, figyelembe véve a felhasználó nyelvét (az Excel nem angol verzióinál). Például: Tartomány(“C1”). FormulaR1C1= “=PI ()” |
FormulaR1C1 | Képlet R1C1 formátumban. Például: Tartomány(“C1”). FormulaR1C1= “=R1C1+2” |
FormulaR1C1Local | A képlet R1C1 formátumú, a felhasználó nyelve alapján (az Excel nem angol verzióihoz). |
Vízszintes igazítás | vízszintes igazítás. Lehetséges értékek: xlHAlignGeneral (normál), xlHAlignCenter (középen), xlHAlignCenterAcrossSelection (kiválasztási központ), xlHAlignJustify (szélesség), xlHAlignRight (jobbra), xlHAlignLeft (balra) és mások. |
Függőleges igazítás | Függőleges igazítás. Lehetséges értékek: xlVALignBottom (alul), xlVALignCenter (középen), xlVALignTop (fent) és mások. |
Tartomány és sejtek objektum módszerek
Mód | Műveletek |
cím | A cella címét adja vissza. |
autofit | Automatikusan beállítja az oszlop szélességét és a sor magasságát. Például: Range(“B1:B3”).Columns.AutoFit Ebben az esetben a Columns vagy Rows tulajdonság használata szükséges, mivel a tartomány értékének soroknak vagy oszlopoknak kell lenniük, különben hiba keletkezik. |
Egyértelmű | Tartomány törlése. Például: Tartomány(“B1:B20”).Clear |
Másolat | Egy tartományt egy másik tartományra vagy vágólapra másol (ha a cél nincs beállítva). Például így másolhatja át a tartományértékeket egyik lapról (L1) a másikra (L2): Worksheets("Z1").Tartomány("D1:D5").Cél másolása:=Worksheets("P2" ).Tartomány("D5 ") |
Vágott | Egy törölt tartományt másol (kivág) egy másik tartományra vagy vágólapra (ha a Destination paraméter nincs beállítva). Például másoljunk egy cellatartományt törléssel a vágólapra: Worksheets("Sheet1").Tartomány("D1:E5").Cut |
Töröl | Töröl egy tartományt. A Shift paraméter határozza meg, hogy a cellák milyen irányba tolódnak el törléskor. Például: Range(“B6:D6”). Delete Shift:=xlShiftTo Left |
Beszúrás | Beszúr egy cellát vagy cellatartományt. Például így illeszthet be egy sort a "Sheet2" lap hatodik sora elé: Munkalapok("Sheet2").Sorok(6).Beszúrás |
Válassza ki | Tartomány kiválasztása: Tartomány(“A1:C7”).Válassza ki |
Range és Cells objektummetódusok, amelyek Excel-parancsokat valósítanak meg
Mód | Műveletek |
DataSeries | Progressziót hoz létre. DataSeries(sorcol,dátum,lépés,stop,trend) A kézi módszer az Edit\Fill\Progress paranccsal hajtható végre |
automatikus kitöltés | Automatikus kiegészítés. Automatikusan kitölti a tartomány celláit a sorozat elemeivel: Object(Tartomány, Típus). |
Automatikus szűrő | Automatikus szűrő. Lekérdezést valósít meg a munkalapon lévő adatok szűrésére: Object.AutoFilter(Mező, Feltétel1, Operátor, Feltétel2) A Data\Filter\AutoFilter parancsnak felel meg. |
fejlett szűrő | Speciális szűrő. Megfelel a Data\Filter\Advanced Filter parancsnak. |
Konszolidálni | Több tartomány adatainak összevonása egy összefoglaló táblázatban. Megfelel a Data\Consolidate parancsnak. |
megtalálja | Adatkeresés. Manuálisan hívja meg a Szerkesztés\Keresés parancs. |
TblGoalSeek | Paraméter kiválasztása. Manuálisan a Service\Parameter Selection paranccsal végrehajtva. |
Fajta | Adatok rendezése. Manuálisan végrehajtva a Data\Sort paranccsal |
részösszeg | Részösszegeket ad hozzá. Manuálisan hívja meg a Data\Subtotals paranccsal. |
jegyzet . Külön meg kell jegyezni, hogy a VBA-ban (ellentétben az Excellel) a hozzárendelési művelet a cella állapotától függetlenül történik, és nem változtatja meg azt. Azok. egy cellához érték hozzárendeléséhez (vagy értékének lekéréséhez) egyáltalán nem szükséges, hogy ez a cella aktív legyen (ne feledje, hogy Excelben aktiválni kell, mielőtt beírná a cellába), nem válik aktívvá (ha korábban nem volt így) és a számára bármilyen fontos megbízatást követően.
Ebből a cikkből megtudhatja, hogyan hozhat létre üzenetdobozt VBA Excel, amely különféle információkat tud megjeleníteni.
Funkció MsgBoxüzenetdobozt jelenít meg, és megvárja, amíg a felhasználó rákattint egy gombra, majd a felhasználó által kattintott gombon alapuló művelet végrehajtásra kerül.
Szintaxis
MsgBox(prompt[,buttons][,title][,helpfile,context])
Paraméter Leírás
- A kérés kötelező paraméter. A párbeszédpanelen üzenetként megjelenítendő karakterlánc. Maximális hossz meghívók - körülbelül 1024 karakter. Ha az üzenet egynél több sort ölel fel, akkor a sorokat kocsivissza (Chr(13)) vagy soremelés (Chr(10)) karakterrel lehet elválasztani az egyes sorok között.
- A gombok egy opcionális paraméter. Numerikus kifejezés, amely meghatározza a megjelenítendő gombok típusát, a használandó ikonstílust, az alapértelmezett gombazonosítót és az üzenetdoboz módozatait. Ha üresen hagyja, a gombok alapértelmezett értéke 0.
- A cím nem kötelező paraméter. A karakterlánc-kifejezés megjelenik a párbeszédpanel címsorában. Ha a cím üresen marad, az alkalmazás neve a címsorba kerül.
- A súgófájl egy opcionális paraméter. Karakterlánc-kifejezés, amely azonosítja azt a súgófájlt, amely a párbeszédpanel környezetérzékeny súgójaként szolgál.
- A kontextus egy opcionális paraméter. Numerikus kifejezés, amely azonosítja a súgó szerzője által a megfelelő súgótémakörhöz rendelt súgókörnyezetszámot. Kontextus megadása esetén egy súgófájlt is meg kell adni.
A Buttons paraméter bármelyiket felveheti következő értékeket:
- 0 vbOKOnly – Csak az OK gombot jeleníti meg.
- 1 vbOKCancel – Megjeleníti az OK és a Mégse gombokat.
- 2 vbAbortRetryIgnore – Megjeleníti a törlés, újrakészítés és figyelmen kívül hagyó gombokat.
- 3 vbYesNoCancel – Megjeleníti az Igen, Nem és Mégse gombokat.
- 4 vbYesNo - Megjeleníti az Igen és a Nem gombokat.
- 5 vbRetryCancel – Megjeleníti az újrapróbálkozás és a törlés gombokat.
- 16 vbCritical – Kritikus üzenet ikont jelenít meg.
- 32 vbQuestion – Figyelmeztető ikont jelenít meg.
- 48 vbExclamation – Megjeleníti a figyelmeztető üzenet ikonját.
- 64 vbInformáció. Információs üzenet ikont jelenít meg.
- 0 vbDefaultButton1 – az első alapértelmezett gomb.
- 256 A vbDefaultButton2 a második alapértelmezett gomb.
- 512 vbDefaultButton3 – Harmadik alapértelmezett gomb.
- 768 vbDefaultButton4 – A negyedik alapértelmezett gomb.
- 0 vbApplicationModal Alkalmazás modális - Az aktuális alkalmazás nem fog futni, amíg a felhasználó nem válaszol az üzenetre.
- 4096 vbSystemModal Rendszer modális – Minden alkalmazás nem fog működni, amíg a felhasználó nem válaszol az üzenetre.
A fenti értékek logikailag négy csoportra oszlanak: az első csoport (0-tól 5-ig) határozza meg az üzenetmezőben megjelenő gombokat. A második csoport (16, 32, 48, 64) a megjelenítendő ikon stílusát írja le, a harmadik csoport (0, 256, 512, 768) azt, hogy melyik gomb legyen az alapértelmezett, a negyedik csoport pedig (0, 4096) ) határozza meg az üzenetdoboz modalitását.
Visszatérési értékek
Az MsgBox függvény a következő értékek egyikét tudja visszaadni, amelyek segítségével azonosítható a felhasználó által az üzenetmezőben megnyomott gomb.
- 1 - megnyomja a vbOK - OK gombot.
- 2 - vbCancel - megnyomja a Mégse gombot
- 3 - vbAbort - Megszakítás gomb megnyomva
- 4 - vbRetry - Újrapróbálkozás gomb megnyomva
- 5 - vbIgnore - Ignore gomb megnyomva
- 6 - vbYes - Igen gomb megnyomva
- 7 - vbNo - Nincs kattintás
Sub MessageBox_Demo() "Egyszerű üzenet MsgBox("Hello") "Üzenet címmel és gombokkal igen, nem és válasz visszavonása" & a) Sub End
MsgBox lépésről lépésre
1. lépés - A fenti funkció végrehajtható a VBA ablak "Futtatás" gombjára kattintva, vagy arra a gombra kattintva, amelyet Ön hozzáadott az Excel munkalaphoz.
2. lépés – Megjelenik egy egyszerű szövegdoboz az "Üdvözöljük" üzenettel és egy "OK" gombbal
" röviden megismerkedtünk az msgbox párbeszédpanel üzenetével. De ez volt a legegyszerűbb tájékoztató üzenet. Most nézzük meg közelebbről az MsgBox funkciót és minden típusú párbeszédüzenetet.
Az MsgBox függvény szintaxisa
Az MsgBox függvény a következő szintaxissal rendelkezik:
MsgBox( üzenet [, üzenetkonstansok] [, cím] [, hlp súgófájl, súgókörnyezet] )
A kötelező paraméter az "Üzenet", a többi elhagyható.
MsgBox "Üzenet szövege”
- Üzenetállandók- lehetővé teszi a párbeszédek típusának meghatározását.
- fejléc– beállítja a párbeszédablak címét.
- Súgó fájlhlp egy karakterlánc-kifejezés, amely megadja a párbeszédpanel súgófájljának nevét.
- Súgó kontextus egy numerikus kifejezés, amely a párbeszédpanel súgófájljának környezeti számát adja meg.
Megtekintés párbeszédpanel:
a következő paranccsal jött létre:
MsgBox "Kérdést tartalmazó szöveg", vbYesNo, "Üzenet címe"
Ehhez hasonló üzenet létrehozásához:
a parancs így fog kinézni:
MsgBox "Kérdést tartalmazó szöveg", vbYesNoCancel, "Üzenet neve"
Egy ilyen üzenet:
parancs hozta létre:
MsgBox "Kérdést tartalmazó szöveg", vbAbortRetryIgnore, "Üzenet neve"
azok. a parancsban szereplő mindhárom példa közül csak a második paraméter (vbYesNo, vbYesNoCancel, vbAbortRetryIgnore) módosul. Ezek azok az értékek (konstansok), amelyek meghatározzák az üzenet típusát. A paraméterek (vbYesNo, vbYesNoCancel) helyettesíthetők numerikus értékkel, például a vbYesNo párbeszédablakot a 4 beírásával hívhatjuk meg: MsgBox "Kérdést tartalmazó szöveg", 4, "Üzenet neve".
Alább teljes listaállandók és ezek megfelelő digitális értékei:
Állandó | Jelentése | Leírás |
vbOKOnly | Üzenetet jelenít meg egy gombbal rendben |
|
vbOKMégse | Üzenetet jelenít meg a gombokkal rendbenÉs Megszünteti |
|
vbAbortRetryIgnore | Üzenetet jelenít meg a gombokkal elvetél, ismétlés, Kihagyás |
|
vbYesNoCancel | Üzenetet jelenít meg a gombokkal Igen, Nem, Megszünteti. |
|
Üzenetet jelenít meg a gombokkal IgenÉs Nem |
||
vbRetryCancel | Üzenetet jelenít meg a gombokkal IsmétlésÉs Megszünteti |
Az üzenetek kissé módosíthatók. kinézet, rendeljen hozzá egy alapértelmezett gombot, adjon hozzá egy "Súgó" gombot konstansok hozzáadásával.
Például: MsgBox "Kérdést tartalmazó szöveg", vbYesNoCancel+vbInformation + vbMsgBoxHelpButton+vbDefaultButton2, az „Üzenet neve” egy ilyen üzenetet hoz létre:
vbInformáció- felkiáltójelet ad az üzenethez
vbMsgBoxHelpButton- teszi hozzá a "Súgó" gombot
vbDefaultButton2- a fókuszt a második gombra állítja (" Nem")
Az alábbiakban egy táblázat található, amely felsorolja az ikonkonstansokat és a gombok fókuszállandóit:
Állandó | Jelentése | Leírás |
vbCritical | Megjelenít egy ikont kritikus üzenet(piros ovális, kereszttel) |
|
vbQuestion | Megjelenít egy ikont a következővel: kérdőjel |
|
vbFelkiáltás | Megjelenít egy ikont a következővel: felkiáltójel(sárga háromszögben) |
|
vbInformáció | Megjelenít egy ikont információs üzenet |
|
vbDefaultButton1 | Az alapértelmezett fókuszt az első gombra állítja |
|
vbDefaultButton2 | Az alapértelmezett fókuszt a második gombra állítja |
|
vbDefaultButton3 | Az alapértelmezett fókuszt a harmadik gombra állítja |
|
vbDefaultButton4 | Az alapértelmezett fókuszt a negyedik gombra állítja |
|
vbMsgBoxHelpButton | Hozzáad egy gombot Referencia |
|
vbMsgBoxRight | Igazítsa az üzenet szövegét a jobb oldalhoz |
|
vbMsgBoxRtlReading | Az üzenet összes elemét tükrözi (lásd az alábbi pillanatképet) |
Hogyan lehet megtudni, hogy az üzenet melyik gombjára kattintott a felhasználó?
A felhasználó választását a segítségével határozzuk meg. Bizonyos helyzetekben használhatja .
Például hívjunk meg egy üzenetet úgy, hogy duplán kattintunk az LMB-re a munkalap bármely cellájában. A felhasználó választásának megfelelően szöveget jelenítünk meg ebben a cellában.
Létrehozunk egy újat Excel munkafüzetés váltson módba Visual Basic(Alt+F11). A projekt ablakban válassza a " 1. lap» és kattintson rá kétszer LMB.
A megnyíló kódszerkesztő ablakban írja be a következő eljárást:
Privát al Worksheet_BeforeDoubleClick( ByVal Cél Mint tartomány, mégse Mint Boolean) Ha MsgBox("Kérdést tartalmazó szöveg", vbYesNo, "Üzenet címe") = vbYes Akkor |
IF feltételben összehasonlítjuk az MsgBox függvény által visszaadott eredményt a vbYes konstanssal, azaz. ha az üzenetben megnyomják a gombot Igen”, akkor az MsgBox függvény a vbYes (6) értéket adja vissza. Az állandók és digitális megfelelőik teljes listája alább található. Most próbáld 1. lap kattintson duplán bármelyik cellára.
Jegyzet: Üzenet hívásakor a program végrehajtása leáll, amíg a felhasználótól nem érkezik válasz.
A második lehetőség a párbeszédpanel meghívására .
Hozzon létre egy második eljárást a 2. munkalapon. Az eljárás kódja a következő:
Privát al Worksheet_BeforeDoubleClick( ByVal Cél Mint tartomány, mégse Boole-ként) Válassza a Case lehetőséget mes |
Ebben az esetben az MsgBox hívás eredménye egy változóhoz van rendelve mes majd a Select Case-ben megkeres egy egyezést, és az egyezésnek megfelelően műveleteket hajt végre.
Ez minden. Az alábbiakban mellékelünk egy ebben a cikkben tárgyalt kész példát.
A függvény által visszaadott állandók és értékek listája MsgBox:
Állandó | Jelentése | Gomb |
vbCancel | Megszünteti |
|
elvetél |
||
Ismétlés |
||
vbIgnore | Kihagyás |
|
A VBA-ban a bemenet és a kimenet (a felhasználói interakcióhoz) párbeszédpaneleken végezhető el. Az értékek bevitelére szolgáló párbeszédpanel a beépített funkcióval valósul meg InputBox. Az InputBox függvény által megvalósított beviteli mezőben egy változó értékének megadására szolgáló mező jelenik meg, amelyben a felhasználónak egy adott értéket kell megadnia. Ezután a felhasználónak rá kell kattintania az OK gombra.
Funkció InputBox() a következő szintaxissal rendelkezik:
VariableName = InputBox(Prompt, , , , , , )
Ahol argumentumok: A Prompt vagy az Message egy kötelező argumentum, amely egy tájékoztató üzenetet határoz meg a párbeszédpanelen. Az összes többi argumentum nem kötelező. A Title az ablak címét adja meg. Az 1. ábra egy modult mutat be, amely az InputBox funkciót használja.
Rizs. 1.
A 2. modul befejezése után megjelenik egy "Változóértékek bevitele" üzenetablak (2. ábra), amelyben meg kell adnia egy számot, és kattintson az OK gombra. Az InputBox funkcióval megvalósított párbeszédpanel (2. ábra) (1. ábra) a következőket jeleníti meg: Ablak címe - Változóértékek bevitele; Üzenet - Írjon be egy számot; Gombok (alapértelmezett) - OK és Mégse; Változóértékek bevitelére szolgáló mező.
Rizs. 2.
Az információk megjelenítéséhez a kezelő által megvalósított üzenetek párbeszédpaneljait használják. MsgBox vagy funkciót MsgBox(). Az MsgBox utasításként használható. Az MsgBox utasítás információkat jelenít meg egy párbeszédpanelen, és beállítja azt a módot, hogy megvárja, amíg a felhasználó megnyom egy gombot.
Az MsgBox utasítás szintaxisa a következő:
MsgBox Prompt, , , ,
Ahol az argumentumok a következők: Prompt vagy Message – egy kötelező argumentum, amely meghatározza az ablakban megjelenítendő tájékoztató üzenetet. Az összes többi argumentum nem kötelező. Gombok – Az üzenet párbeszédpanelen használható gombok. Különféle gombok (OK, Mégse stb.) használhatók az üzenetablakban. Ha nem adja meg, hogy mely gombok jelenjenek meg az üzenetmezőben, akkor alapértelmezés szerint az OK gomb jelenik meg. Ezenkívül az üzenet párbeszédpaneleiben különféle ikonok használhatók (vbQuestion - kérdőjel ikon, vbExclamation - felkiáltójel ikon stb.).
ábrán látható az a modul, amelyben az MsgBoxot operátorként használják. 3 (operátor MsgBox "3", vbOKCancel, "Kimeneti értékek").
Rizs. 3
Amikor a 4-es modult elindítjuk végrehajtásra, megjelenik egy "Kimeneti értékek" üzenetablak (4. ábra), amelyben az OK gombra kell kattintani. Az MsgBox operátor által megvalósított ablak (4. ábra) (3. ábra) a következőket jeleníti meg: Ablak címe - Értékek kimenete; Üzenet - 3; Gombok - OK és Mégse.
Rizs. 4
Például egy y = 5 x 2 + 7 x + 9 függvény kiszámításához használhatja az InputBox függvényt és az MsgBox operátort (5. ábra).
Rizs. 5
Az 5. modul végrehajtása után megjelenik egy beviteli mező
Rizs. 6
Egy szám (például 789) beírása és az OK gombra kattintás után megjelenik egy üzenetablak, amely az y = 5 x 2 + 7 x + 9 függvény eredményét mutatja.
Rizs. 7
Az MsgBox funkcióként használható. Az MsgBox() függvény szintaxisa a következő: MsgBox (Prompt, , , , ). Ebben az esetben a párbeszédpanelen több különböző gomb található. Amikor egy párbeszédpanelen megnyomnak egy gombot, az MsgBox() függvény egész értéket ad vissza, amely attól függ, hogy melyik gombot nyomták meg az üzenet párbeszédpanelen.