VBA alat za prikaz informacija. Okvir za poruke u VBA Excelu - MsgBox Vba unos tipkovnicom
Ispis (prijenos korisniku) rezultata programa i drugih poruka provodi se kroz dijaloški okvir poruka.
Za organizaciju izlaza informacija koristi se ugrađena funkcija MsgBox.
Razmotrimo opcije za njegovu upotrebu.
1. g = Sqr (16)
MsgBox y
2. S=99
MsgBox("S= ” & S)
to je znak ulančavanje – ampersand;
koristi se za spajanje više linija u jednu
3. a = 5: b = 101
MsgBox("a="& a & " " & " b = " &b)
4.MsgBox("a=" & a & Chr(13) & "b=" & b)
pomoću ove funkcije koju unosite prijelazni simbol
na novom retku(pretvara broj u znak)
Rad s Excel objektima
Excel objektni model predstavlja hijerarhiju objekata podređenih jednom objektu Primjena, što odgovara na Excel aplikacija. Predmeti Excel su radne knjige, listovi, dijagrami, rasponi ćelija, ćelije itd.
VBA može programski manipulirati bilo kojim od ovih objekata.
Svaki objekt ima set Svojstva, metode I događanja.
Vlasništvo je karakteristika ili parametar objekta.
metoda je radnja koju objekt može izvesti.
Događaj je radnja na koju objekt automatski reagira.
Upravljanje objektom uVBAmožete to učiniti na 3 načina:
mijenjanje svojstava objekta;
aktiviranjem metode povezane s objektom;
definiranje procedure koja će se pokrenuti kao odgovor na događaj.
Izlaz informacija u Excel ćeliju
Ćelija kao Excel objekt u VBA programu je naznačeno Ćelije (i, j), Gdje ja– broj retka, j– broj stupca proračunske tablice.
Y
Značenje Y bit će prikazan na aktivnom listu radna bilježnica Excel u ćeliju B3
Ćelije (3, 2) = Y
S
Varijabilna B bit će dodijeljena vrijednost koji je pohranjen u ćeliji C5 (tj. sadržaj ćelije C5)
B = ćelije (5, 3)
vba alat za unos podataka
Unos informacija od korisnika provodi se kroz dijaloški okvir za unos. Implementirano pomoću ugrađene funkcije InputBox.
Dim x kao singl
x = Val(InputBox("Unesite x"))
Funkcija InputBox vraća niz znakova unesenih u polje za unos ( 15 ) kao tip podataka Niz(niz). Ugrađena funkcija Val() Pretvara vrijednost niza iz polja za unos u numeričku vrijednost.
Linearni računalni procesi
Linearni algoritam karakterizira strogi redoslijed implementacije blokova redoslijedom njihovog rasporeda u krugu - od vrha do dna. Nema uvjetnih blokova. Svaki blok se izvodi jednom.
Primjer 1 Izračunajte vrijednost funkcije
pri k = 33,5 x = 17
1. Kreirajmo algoritam za rješavanje problema.
2. U prozor uređivača koda unesite programski kod:
Opcija Eksplicitno
Podlinearni_proces()
Dim k Kao pojedinačna, x kao pojedinačna, y kao pojedinačna'deklaracija varijabli
x = Val(InputBox("Unesite vrijednost x"))
y = k * Exp(Sin(x))
MsgBox "y="&y' izlaz rezultata u dijaloški okvir
End Sub
Tim Opcija Eksplicitno obvezuje deklarirati sve varijable u zadanom programu. Može se staviti samo u odjeljak s najavama modula.
1. Funkcija InputBox
Funkcija InputBox ima sljedeću sintaksu:
Varijabla = InputBox(Upit[, Naslov] [, zadano] [, Xpos] [, Ypos] [, datoteka_pomoći, sadržaj])
Ova funkcija zahtijeva samo argument Poziv Vrijednost argumenta Poziv– jedini traženi argument ove funkcije, služi tekstualni niz, koji se u dijaloškom okviru za unos prikazuje kao poruka. Ovaj tekst treba priložiti u dvostruki navodnici.
Argument Naslov
Argument zadano određuje vrijednost koja se prema zadanim postavkama prikazuje u polju za unos dok korisnik ne unese vrijednost. Ako je ovaj argument izostavljen, polje za unos će biti prazno.
Neobavezni argumenti Xpos I Ypos postavite položaj prozora za unos na ekranu. Argumenti datoteka_pomoći I sadržaj
Povratna vrijednost funkcije InputBox je vrijednost koju je korisnik unio u okvir za unos.
2. Funkcija MsgBox
Okvir s porukom stvara funkcija MsgBox koja ima sljedeću sintaksu:
Varijabla = MsgBox(Upit[, gumbi][, zaglavlje[, datoteka_pomoći, sadržaj])
Vrijednost argumenta Poziv– jedini potreban argument za ovu funkciju je tekstualni niz koji se prikazuje kao poruka u dijaloškom okviru. Ovaj tekst mora biti u dvostrukim navodnicima. Obratite pozornost na korištenje zagrada u sintaksi MsgBox - one pokazuju da je u ovom slučaju MsgBox funkcija koja vraća vrijednost. Ako su zagrade izostavljene, onda je to za VBA znak da ovaj izraz ne vraća vrijednost. Ako želite vratiti vrijednost, morate koristiti kôd sličan sljedećem:
Dim i kao cijeli broj
Rezultat pokretanja ovog koda u VBA bit će dijaloški okvir s tri gumba "Da", "Ne", "Odustani" i ikonom uskličnika u žutom trokutu.
Ako se ne da argument Gumbi, tada VBA nudi samo jedan gumb "OK". Argument Gumbi omogućuje vam upravljanje sljedećim parametrima prozora poruka:
¨ Broj gumba u prozoru.
¨ Vrste gumba i njihov položaj u prozoru.
¨ Ikone prikazane u prozoru.
¨ Koji je gumb dodijeljen prema zadanim postavkama.
¨ Način (modalitet) prozora s porukom.
Tablica 1 prikazuje moguće postavke za ovaj argument. Prva skupina vrijednosti postavlja broj i vrstu gumba. Drugi vam omogućuje odabir ikone prikazane u prozoru. Treći dodjeljuje zadani gumb. Četvrta grupa postavlja način rada prozora poruke. Za stvaranje konačne vrijednosti argumenta Gumbi Možete koristiti samo jednu vrijednost iz svake grupe, kombinirajući ih sa znakom plus.
Skupina | Konstantno | Značenje | Opis |
Grupa 1 | vbOKOnly | Prikazuje samo gumb OK (zadana postavka) | |
VbOKOdustani | Prikazuje gumbe U redu i Odustani | ||
VbAbortRetryIgnore | Prikazuje gumbe Stop, Repeat i Skip. | ||
VbDaNeOdustani | Prikazuje gumbe Da, Ne i Odustani | ||
vbDaNe | Prikazuje gumbe Da i Ne | ||
VbRetryCancel | Prikazuje gumbe Ponovi i Odustani | ||
Grupa 2 | VbKritično | Prikazuje ikonu zabrane | |
VbPitanje | |||
VbUsklik | Prikazuje ikonu upozorenja | ||
VbInformacija | Prikazuje informacijsku ikonu | ||
Grupa 3 | VbDefaultButton1 | Prvi gumb je zadani gumb | |
VbDefaultButton2 | Drugi gumb je zadani gumb | ||
VbDefaultButton3 | Treći gumb je zadani gumb | ||
VbDefaultButton4 | Četvrti gumb je zadani gumb | ||
Grupa 4 | VbApplicationModal | Način rada aplikacije: Korisnik mora zatvoriti okvir s porukom prije nego što nastavi s trenutnom aplikacijom | |
VbSystemModal | Način rada sustava: sve aplikacije su nedostupne dok korisnik ne zatvori prozor s porukom | ||
Dodatna grupa | vbMsgBoxHelpButton | Prikazuje gumb Pomoć | |
vbMsgBoxSetForeground | Prozor poruke čini prozorom u prvom planu | ||
vbMsgBoxRight | Prikazuje okvir s porukom poravnat s desnim rubom prozora aplikacije | ||
vbMsgBoxRtlReading | Za hebrejski i arapski, navodi da tekst treba biti prikazan s desna na lijevo. |
Stol 1. Postavke za argument Gumbi MsgBox funkcije
Da biste izbjegli pogreške prilikom unosa vrijednosti argumenata Gumbi, koristite popis konstanti koji se pojavljuje nakon što unesete znak "+". Znak "+" koristi se za kombiniranje više konstanti prilikom navođenja složenog argumenta Gumbi.
Argument Naslov koristi se za određivanje teksta koji se nalazi u naslovnoj traci prozora za unos. Ako ovaj argument nije naveden, Microsoft Excel se prikazuje u naslovnoj traci.
Argumenti datoteka_pomoći I sadržaj koriste se ako izradite vlastiti sustav pomoći za svoju aplikaciju.
Tablica 2 daje popis vrijednosti koje vraća funkcija MsgBox . Povratna vrijednost ovisi o gumbu koji je korisnik pritisnuo.
Povratna vrijednost | Dugme |
u redu | |
Otkazati | |
Stop | |
Ponoviti | |
Preskočiti | |
Da | |
Ne |
Stol 2. Vrijednosti koje je vratila funkcija MsgBox
Najbolji tip Povratna varijabla funkcije MsgBox je Integer.
Objekti Raspon i Ćelije
U VBA se ćelije radnog lista tretiraju kao objekti raspona. Ovo je najčešće korišteni objekt.
Objekt Range koristi format A1 kada radi sa ćelijama.
A1 format. Veza se sastoji od naziva stupca (označenog slovima od A do IV, najviše 256 stupaca) i broja retka (od 1 do 65536). Na primjer, A77. Za pozivanje na raspon ćelija navedite adrese gornje lijeve i donje desne ćelije raspona, odvojene dvotočkom. Na primjer, B10:B20, 7:7 (sve ćelije u 7. redu), 5:10 (sve ćelije između 5. i 10. reda uključujući), D:D (sve ćelije u stupcu D), H: J (sve ćelije između stupaca H i J uključivo). Apsolutna referenca označena je znakom dolara ispred naziva retka ili stupca
Objekt Cells koristi format R1C1 kada radi sa ćelijama.
R1C1 format. U formatu R1C1, nakon slova "R" naveden je broj retka ćelije, nakon slova "C" broj stupca. Na primjer, apsolutna referenca R1C1 ekvivalentna je apsolutnoj referenci $A$1 za format A1. Da biste postavili relativnu referencu, odredite pomak u odnosu na aktivnu ćeliju. Miješanje je navedeno u uglatim zagradama. Znak označava smjer pomaka. Na primjer, R[-3]C (relativna referenca na ćeliju tri retka više u istom stupcu). RC (relativna referenca na ćeliju koja se nalazi dva retka ispod i dva stupca s desne strane). R2S2 (apsolutna referenca na ćeliju koja se nalazi u drugom retku iu drugom stupcu). R[-1] (relativna referenca na redak iznad trenutna ćelija), R (apsolutna referenca na trenutni redak).
Puna adresa ćelije također može sadržavati ime i adresu radnika. Iza naziva lista nalazi se znak “!”, a adresa radne knjige je uglate zagrade. Na primjer: [Book1.xls]Sheet5!D$2.
Sljedeće može djelovati kao Range objekt:
§ odvojena ćelija;
§ odabrani raspon ćelija;
§ nekoliko odabranih raspona ćelija (tj. zbirka raspona koji nisu susjedni);
§ red i stupac;
§ trodimenzionalni raspon (tj. koji se sastoji od raspona koji se nalaze na različitim radnim listovima).
Svojstva objekta raspona i ćelija
Svojstva | Opis i dopuštene vrijednosti |
Vrijednost | Vraća vrijednost iz ćelije ili raspona (u ćeliju ili raspon): X=Raspon(“A1”).Raspon vrijednosti(“A1”).Vrijednost=10 |
Ime | Vraća naziv raspona: Range(“B1:B4”).Name=”Application” |
Adresa | Vraća trenutni položaj raspona |
Računati | Vraća broj ćelija u rasponu |
Pomak | Vraća vrijednost pomaka jednog raspona u odnosu na drugi |
Promjena veličine | Omogućuje promjenu trenutnog odabira raspona |
CurrentRegion | Vraća trenutni raspon koji sadrži navedenu ćeliju i omeđen je praznim retkom i stupcem. |
WrapText | True (False) – dopušta (ne dopušta) prelamanje teksta kada se unese u raspon. |
Cijeli stupac, cijeli redak | Vraća red i stupac. |
Širina stupca, visina retka | Vraća širinu stupca i visinu retka raspona. |
Font | Vraća objekt Font. Na primjer: S radnim listovima (“Z3”).Raspon (“F10”).Font .Veličina=22 .Podebljano=Istina .Italic=Istina Završi s |
Formula | Formula u A1 formatu. Na primjer, ovako možete unijeti formulu u ćeliju C2: Range(“C2”).Formula=”=$B$2+$A$2” |
FormulaLocal | Formula u formatu A1, uzimajući u obzir jezik korisnika (za neengleske verzije Excela). Na primjer: Raspon (“C1”).FormulaR1C1= “=PI ()” |
FormulaR1C1 | Formula u formatu R1C1. Na primjer, Range(“C1”).FormulaR1C1= “=R1C1+2” |
FormulaR1C1Lokalno | Formula u formatu R1C1 uzimajući u obzir korisnikov jezik (za neengleske verzije Excela). |
Horizontalno poravnanje | Horizontalno poravnanje. Moguće vrijednosti: xlHAlignGeneral (normalno), xlHAlignCenter (centar), xlHAlignCenterAcrossSelection (centar odabira), xlHAlignJustify (širina), xlHAlignRight (desno), xlHAlignLeft (lijevo) i druge. |
Okomito poravnanje | Okomito poravnanje. Moguće vrijednosti: xlVAlignBottom (na donjem rubu), xlVAlignCenter (u sredini), xlVAlignTop (na gornjem rubu) i druge. |
Metode objekta Range i Cells
Metode | Radnje |
Adresa | Vraća adresu ćelije. |
AutoFit | Automatski podešava širinu stupca i visinu retka. Na primjer: Range(“B1:B3”).Columns.AutoFit Korištenje svojstva Stupci ili Redovi u ovom slučaju je neophodno, budući da vrijednost raspona mora biti redova ili stupaca, inače će se pojaviti pogreška. |
Čisto | Briše raspon. Na primjer: Raspon (“B1:B20”). Očisti |
Kopirati | Kopira raspon u drugi raspon ili međuspremnik (ako Odredište nije navedeno). Na primjer, ovako možete kopirati vrijednosti raspona s jednog lista (L1) na drugi (L2): Worksheets(“Z1”).Range(“D1:D5”).Copy Destination:=Worksheets(“P2” ).Raspon (“D5”) ") |
Izrezati | Kopira raspon s brisanjem (reže) u drugi raspon ili međuspremnik (ako parametar Odredište nije naveden). Na primjer, kopirajmo raspon ćelija s brisanjem u međuspremnik: Worksheets(“Sheet1”).Range(“D1:E5”).Cut |
Izbrisati | Briše raspon. Parametar Shift određuje smjer u kojem se ćelije pomiču kada se izbrišu. Na primjer: Range(“B6:D6”).Delete Shift:=xlShiftToLeft |
Umetnuti | Umeće ćeliju ili raspon ćelija. Na primjer, ovako možete umetnuti redak prije šestog retka u listu "Sheet2": Worksheets("Sheet2").Retovi(6).Insert |
Izaberi | Odabire raspon: Raspon(“A1:C7”).Odaberi |
Objektne metode Range i Cells koje implementiraju Excel naredbe
Metode | Radnje |
DataSeries | Stvara progresiju. DataSeries(rowcol,date,step,stop,trend) Metoda se izvodi ručno pomoću naredbe Edit\Fill\Progression |
Automatsko popunjavanje | Automatsko dovršavanje. Automatski ispunjava ćelije raspona elementima niza: Objekt(Raspon, Vrsta). |
AutoFilter | Autofilter. Implementira zahtjev za filtriranje podataka na radnom listu: Object.AutoFilter(Field, Condition1, Operator, Condition2) Odgovara naredbi Data\Filter\AutoFilter. |
Napredni filtar | Napredni filter. Odgovara naredbi Data\Filter\Advanced Filter. |
Konsolidirati | Kombiniranje podataka iz više raspona u jednu konačnu tablicu. Odgovara naredbi Data\Consolidation. |
Pronaći | Pretraživanje podataka. Ručno pozvano naredbom Edit\Find. |
TblGoalSeek | Izbor parametra. To se radi ručno pomoću naredbe Alati\Odabir parametara. |
Vrsta | Razvrstavanje podataka. Ručno izvedeno pomoću naredbe Data\Sort |
Međuzbroj | Dodaje međuzbrojeve. Ručno se poziva naredbom Data\Subtotals. |
Bilješka . Posebno treba napomenuti da se u VBA (za razliku od Excela) operacija dodjele izvodi bez obzira na status ćelije i ne mijenja ga. Oni. Da biste ćeliji dodijelili vrijednost (ili da biste dobili njezinu vrijednost), uopće nije potrebno da ta ćelija bude aktivna (sjetite se da u Excelu, prije nego što je unesete u ćeliju, ona mora biti aktivirana); ona neće postati aktivna (ako prije nije bilo tako) ni nakon dodjele nema nikakvo značenje.
U ovom ćete članku naučiti kako stvoriti okvir za poruke u VBA Excel, koji može prikazati razne informacije.
Funkcija MsgBox prikazuje okvir s porukom i čeka da korisnik klikne gumb, a zatim će se radnja izvršiti na temelju gumba koji je korisnik kliknuo.
Sintaksa
MsgBox(prompt[,gumbi][,naslov][,datoteka pomoći,kontekst])
Opis parametra
- Zahtjev je obavezan parametar. Niz koji se pojavljuje kao poruka u dijaloškom okviru. Maksimalna duljina pozivnice - oko 1024 znaka. Ako se poruka proteže preko više od jednog retka, tada se reci mogu razdvojiti korištenjem znaka za povratak na novi red (Chr(13)) ili znakova za pomicanje retka (Chr(10)) između svakog retka.
- Gumbi su izborni parametar. Numerički izraz koji određuje vrstu gumba za prikaz, stil ikone koji će se koristiti, zadani ID gumba i modalitet okvira za poruke. Ako se ostavi prazno, zadana vrijednost za gumbe je 0.
- Naslov je izborni parametar. Izraz niza pojavljuje se u naslovnoj traci dijaloškog okvira. Ako je naslov ostavljen prazan, naziv aplikacije nalazi se u naslovnoj traci.
- Datoteka pomoći je izborni parametar. String izraz koji identificira datoteku pomoći koja će se koristiti za pružanje pomoći osjetljive na kontekst za dijaloški okvir.
- Kontekst je izborni parametar. Numerički izraz koji identificira broj konteksta pomoći dodijeljen autoru pomoći za odgovarajuću temu pomoći. Ako je naveden kontekst, mora se navesti i datoteka pomoći.
Parametar Buttons može uzeti bilo koji od sljedeće vrijednosti:
- 0 vbOKOnly - prikazuje samo gumb OK.
- 1 vbOKCancel - prikazuje gumbe OK i Cancel.
- 2 vbAbortRetryIgnore - Prikazuje gumbe za odustajanje, ponovni pokušaj i ignoriranje.
- 3 vbYesNoCancel - Prikazuje gumbe Da, Ne i Odustani.
- 4 vbYesNo - prikazuje gumbe Yes i No.
- 5 vbRetryCancel - prikazuje gumbe za ponovni pokušaj i odustajanje.
- 16 vbCritical - prikazuje ikonu kritične poruke.
- 32 vbPitanje - Prikazuje ikonu upozorenja.
- 48 vbExclamation - Prikazuje ikonu poruke upozorenja.
- 64 vbInformacija. Prikazuje ikonu informativne poruke.
- 0 vbDefaultButton1 - prvi zadani gumb.
- 256 vbDefaultButton2 - drugi zadani gumb.
- 512 vbDefaultButton3 - Treći zadani gumb.
- 768 vbDefaultButton4 - Četvrti zadani gumb.
- 0 vbApplicationModal Modal aplikacije - trenutna aplikacija neće raditi dok korisnik ne odgovori na poruku.
- 4096 vbSystemModal Modalni sustav - sve aplikacije neće raditi dok korisnik ne odgovori na poruku.
Gore navedene vrijednosti su logično podijeljene u četiri grupe: Prva grupa (0 do 5) označava gumbe koji će biti prikazani u okviru s porukom. Druga grupa (16, 32, 48, 64) opisuje stil ikone koja će biti prikazana, treća grupa (0, 256, 512, 768) označava koji bi gumb trebao biti zadani, a četvrta grupa (0, 4096) definira modalitet prozora poruke.
Povratne vrijednosti
Funkcija MsgBox može vratiti jednu od sljedećih vrijednosti, koje se mogu koristiti za prepoznavanje gumba koji je korisnik kliknuo u okviru s porukom.
- 1 - vbOK - gumb OK pritisnut.
- 2 - vbCancel - Pritisnut je gumb Odustani
- 3 - vbAbort - Pritisnut je gumb za prekid
- 4 - vbRetry - Gumb za ponovni pokušaj pritisnut
- 5 - vbIgnore - Pritisnut je gumb Ignoriraj
- 6 - vbDa - pritisnuta je tipka "Da".
- 7 - vbNo - Nema klika
Sub MessageBox_Demo() "Jednostavna poruka MsgBox ("Zdravo") "Poruka s naslovom i gumbima da, ne i odustani a = MsgBox("Sviđa li vam se plava boja", 3, "Odaberite odgovor") "Kod pritisnutog gumb MsgBox ("Vrijednost odgovora " & a) End Sub
MsgBox korak po korak
Korak 1 - Gornju funkciju možete izvršiti klikom na gumb Pokreni u VBA prozoru ili klikom na gumb koji ste sami dodali na Excel list.
Korak 2 - Prikazuje se jednostavan tekstni okvir s porukom "Dobrodošli" i gumbom "OK".
"Ukratko smo se upoznali s dijaloškom porukom msgbox. Ali to je bila obična informativna poruka. Pogledajmo sada pobliže rad s funkcijom MsgBox i svim vrstama dijaloških poruka.
Sintaksa funkcije MsgBox
Funkcija MsgBox ima sljedeću sintaksu:
MsgBox( poruka [, konstante poruke] [, zaglavlje] [, hlp datoteka pomoći, kontekst pomoći] )
Obavezni parametar je “Message”, ostali se mogu izostaviti.
MsgBox “Tekst poruke”
- Konstante poruka- omogućuju vam da odredite vrstu dijaloga.
- Naslov– postavlja naslov dijaloške forme.
- Datoteka pomoćipomoć je izraz niza koji navodi naziv datoteke pomoći za dijaloški okvir.
- Kontekst pomoći- numerički izraz koji označava broj konteksta datoteke pomoći za dijaloški okvir.
Prikaži dijalog:
kreira se sljedećom naredbom:
MsgBox "Tekst koji sadrži pitanje", vbYesNo, "Naslov poruke"
Za izradu ovakve poruke:
naredba će izgledati ovako:
MsgBox "Tekst koji sadrži pitanje", vbYesNoCancel, "Naslov poruke"
Ovakva poruka:
kreiran naredbom:
MsgBox "Tekst koji sadrži pitanje", vbAbortRetryIgnore, "Naslov poruke"
oni. Od sva tri primjera u naredbi mijenja se samo drugi parametar (vbYesNo, vbYesNoCancel, vbAbortRetryIgnore). Ovo su vrijednosti (konstante) koje određuju vrstu poruke. Parametri (vbYesNo, vbYesNoCancel) mogu se zamijeniti numeričkom vrijednošću, na primjer, dijaloški okvir vbYesNo može se pozvati navođenjem 4: MsgBox "Tekst koji sadrži pitanje", 4, "Naslov poruke".
Ispod je puni popis konstante i njihove ekvivalentne digitalne vrijednosti:
Konstantno | Značenje | Opis |
vbOKOnly | Prikazuje poruku s gumbom u redu |
|
vbOKOdustani | Prikazuje poruku s gumbima u redu I Otkazati |
|
vbAbortRetryIgnore | Prikazuje poruku s gumbima Prekid, Ponoviti, Preskočiti |
|
vbDaNeOdustani | Prikazuje poruku s gumbima Da, Ne, Otkazati. |
|
Prikazuje poruku s gumbima Da I Ne |
||
vbPokušajOdustani | Prikazuje poruku s gumbima Ponoviti I Otkazati |
Poruke se mogu malo modificirati izgled, dodijeliti zadani gumb, dodati gumb Pomoć dodavanjem konstanti.
Na primjer: MsgBox "Tekst koji sadrži pitanje", vbYesNoCancel+vbInformation + vbMsgBoxHelpButton+vbDefaultButton2, "Naslov poruke" će sastaviti poruku poput:
vbInformacija- dodaje ikonu uzvika u poruku
vbMsgBoxHelpButton- dodaje gumb "Pomoć".
vbDefaultButton2- postavlja fokus na drugi gumb (" Ne")
Ispod je tablica s popisom konstanti ikona i konstanti koje postavljaju fokus na gumbe:
Konstantno | Značenje | Opis |
vbKritično | Prikazuje ikonu kritična poruka(crveni oval s križem) |
|
vbPitanje | Prikazuje ikonu sa upitnik |
|
vbUsklik | Prikazuje ikonu sa uskličnik(u žutom trokutu) |
|
vbInformacija | Prikazuje ikonu informativna poruka |
|
vbDefaultButton1 | Postavlja zadani fokus na prvi gumb |
|
vbDefaultButton2 | Postavlja zadani fokus na drugi gumb |
|
vbDefaultButton3 | Postavlja zadani fokus na treći gumb |
|
vbDefaultButton4 | Postavlja zadani fokus na četvrti gumb |
|
vbMsgBoxHelpButton | Dodaje gumb Referenca |
|
vbMsgBoxRight | Poravnajte tekst poruke udesno |
|
vbMsgBoxRtlReading | Okreće sve elemente u poruci (pogledajte snimku ispod) |
Kako mogu saznati koji je gumb u poruci korisnik kliknuo?
Izbor korisnika bit će određen pomoću . U nekim situacijama možete koristiti .
Na primjer, pozovimo poruku dvostrukim klikom na bilo koju ćeliju na listu. U ovoj ćeliji ćemo prema izboru korisnika prikazati tekst.
Napravite novu Excel radna knjiga i prijeđite u mod Visual Basic(Alt+F11). U prozoru projekta odaberite " List1"i dvaput kliknite na njega LMB-om.
U prozoru uređivača koda koji se otvori unesite sljedeći postupak:
Privatni sub Radni list_prije dvostrukog klika( ByVal Cilj Kao Raspon, Odustani Kao Booleov) Ako MsgBox("Tekst koji sadrži pitanje", vbYesNo, "Naslov poruke") = vbYes Zatim |
U IF uvjetu uspoređujemo rezultat koji vraća funkcija MsgBox s konstantom vbYes, tj. ako se u poruci pritisne gumb "". Da", tada funkcija MsgBox vraća vrijednost vbYes (6). Kompletan popis konstanti i njihovih digitalnih ekvivalenata nalazi se ispod. Sad probaj List 1 Dvaput kliknite na bilo koju ćeliju.
Bilješka: Kada se pozove poruka, izvršavanje programa se zaustavlja dok se ne primi odgovor od korisnika.
Druga opcija za pozivanje dijaloga pomoću .
Kreirajmo drugu proceduru na listu 2. Šifra procedure je sljedeća:
Privatni sub Radni list_prije dvostrukog klika( ByVal Cilj Kao Raspon, Odustani Kao Boolean) Odaberite slučaj mes |
U ovom slučaju, rezultat pozivanja MsgBoxa dodjeljuje se varijabli mes a onda se u Select Case traži podudaranje i prema podudaranju se izvode radnje.
To je sve. Ispod je gotov primjer o kojem se govori u ovom članku.
Popis konstanti i vrijednosti koje vraća funkcija MsgBox:
Konstantno | Značenje | Dugme |
vbOdustani | Otkazati |
|
Prekid |
||
Ponoviti |
||
vbIgnoriraj | Preskočiti |
|
U VBA se unos i izlaz informacija (za interakciju korisnika) može obaviti u dijaloškim okvirima. Dijaloški okvir za unos vrijednosti implementiran je pomoću ugrađene funkcije InputBox. Prozor za unos, koji implementira funkcija InputBox, prikazuje polje za unos varijabilne vrijednosti u koje korisnik mora unijeti određenu vrijednost. Zatim korisnik mora kliknuti OK.
Funkcija InputBox() ima sljedeću sintaksu:
VariableName = InputBox(Prompt, , , , , , )
Gdje su argumenti: Upit ili Poruka - obavezni argument koji navodi informativnu poruku u dijaloškom okviru. Svi ostali argumenti nisu obavezni. Naslov određuje naslov prozora. Slika 1 prikazuje modul u kojem se koristi funkcija InputBox.
Riža. 1.
Nakon završetka modula 2 pojavljuje se prozor s porukom “Unos vrijednosti varijable” (slika 2) u koji je potrebno unijeti broj i kliknuti OK. Dijaloški prozor (slika 2), implementiran funkcijom InputBox (slika 1), prikazuje: Naslov prozora - Unos vrijednosti varijable; Poruka - Unesite broj; Gumbi (zadano) - U redu i Odustani; Polje namijenjeno za unos vrijednosti varijable.
Riža. 2.
Za prikaz informacija koriste se dijaloški okviri poruka koje implementira operater MsgBox ili funkciju MsgBox(). MsgBox se može koristiti kao operator. Izjava MsgBox prikazuje informacije u dijaloškom okviru i postavlja način čekanja da korisnik pritisne gumb.
Operator MsgBox ima sljedeću sintaksu:
MsgBox upit, , , ,
Gdje su argumenti: Upit ili Poruka - obavezni argument koji specificira informacijsku poruku koja će se prikazati u prozoru. Svi ostali argumenti nisu obavezni. Gumbi - gumbi koji se mogu koristiti u dijaloškom okviru poruke. U prozoru s porukama mogu se koristiti različiti gumbi (U redu, Odustani itd.). Ako ne navedete koji se gumbi prikazuju u okviru s porukom, prema zadanim postavkama prikazuje se gumb OK. Osim toga, možete koristiti različite ikone u dijaloškim okvirima za izlaz poruka (vbQuestion - ikona upitnika, vbExclamation - ikona uskličnika, itd.).
Modul u kojem se MsgBox koristi kao operator prikazan je na slici. 3 (operator MsgBox "3", vbOKCancel, "Izlazne vrijednosti").
Riža. 3
Kada se modul 4 pokrene na izvođenje, prikazuje se prozor s porukom “Izlazne vrijednosti” (slika 4), u kojem morate kliknuti gumb U redu. Prozor (Slika 4), koji implementira operator MsgBox (Slika 3), prikazuje: Naslov prozora - Prikaz vrijednosti; Poruka - 3; Gumbi - U redu i Odustani.
Riža. 4
Na primjer, za procjenu funkcije kao što je y = 5 x 2 + 7 x + 9, možete koristiti funkciju InputBox i operator MsgBox (Slika 5)
Riža. 5
Nakon završetka modula 5, prikazuje se prozor za unos
Riža. 6
Nakon što unesete broj, kao što je 789, i kliknete OK, pojavit će se okvir s porukom koji prikazuje rezultat funkcije y = 5 x 2 + 7 x + 9.
Riža. 7
MsgBox se može koristiti kao funkcija. Funkcija MsgBox() ima sljedeću sintaksu: MsgBox(Prompt, , , , ). U ovom se slučaju u dijaloškom prozoru koristi nekoliko različitih gumba. Kada kliknete gumb u dijaloškom okviru, funkcija MsgBox() vraća vrijednost cijelog broja koja ovisi o tome koji je gumb kliknut u dijaloškom okviru prikaza.