VBA InputBox - Unos podataka od korisnika u makronaredbi - primjeri VBA koda

Ovaj će vodič pokazati kako dobiti ulaz od korisnika pomoću VBA okvira za unos.

The VBA okvir za unos omogućuje nam da zatražimo od korisnika da unese podatke. Podaci se tada mogu koristiti u našem VBA kodu ili u radnom listu programa Excel.

Okvir za unos VBA s varijablom

Možemo deklarirati varijablu u našem VBA kodu koja zatim pohranjuje informacije koje se upisuju u okvir za unos. Zatim možemo koristiti ovu varijablu u svom kodu.

Ovisno o vrsti podataka koje želimo vratiti iz okvira za unos, možemo proglasiti određenu vrstu varijable za vraćanje teksta (niz ili varijablu varijante) ili za vraćanje broja (cjelobrojna, duga, dvostruka ili pojedinačna varijabla).

Varijabla niza s okvirom za unos

Evo kako možete stvoriti InputBox gdje se podaci vraćaju u varijablu niza.

123 Dim strInput kao StringstrInput = InputBox ("Ovo je moj InputBox", "MyInputTitle", "Unesite svoj ulazni tekst OVDJE")

Primjetite da prvo deklariramo varijablu. Ovoj varijabli bit će dodijeljena vrijednost koju korisnik unese. Koristili smo niz varijabli tipa String kako bi okvir za unos prihvatio tekstualne nizove (koji uključuju bilo koje alfanumeričke znakove).

Varijabla broja s okvirom za unos

Ako deklarirate varijablu broja, morat ćete unijeti broj samo u okvir za unos.

12 Dim iInput As IntegeriInput = InputBox ("Molimo unesite broj", "Izradi broj fakture", 1)

Prvo deklariramo varijablu broja kao cjelobrojnu varijablu. Zatim možemo unijeti zadanu vrijednost 1 u okvir za unos.

Ako bismo umjesto broja unijeli niz, a zatim kliknuli na U redu, dobili bismo grešku neusklađenosti vrste jer varijabla broja ne prihvaća niz.

Dobijte unos od korisnika

Evo još jednog primjera koji koristi najpopularnije značajke InputBox -a.

Sljedeći kod čini tri stvari:

1. Traži unos pomoću InputBox -a i dodjeljuje ga varijabli

2. Provjerava ulaz, u protivnom izlazi iz podm

3. Vraća unos u okvir za poruku

12345678910111213 Javni pod MyInputBox ()Dim MyInput As StringMyInput = InputBox ("Ovo je moj InputBox", "MyInputTitle", "Unesite svoj ulazni tekst OVDJE")Ako je MyInput = "Unesite ulazni tekst OVDJE" Ili MyInput = "" ZatimIzlaz iz podvZavrši akoMsgBox "Tekst iz MyInputBox je" & MyInputKraj podm

Vraćanje unosa na Excel tablicu

Unos koji upisujete u okvir za unos možete vratiti u određenu ćeliju u Excelovom listu.

1 Raspon ("P1") = InputBox ("Molimo upišite svoje ime", "Unesite ime", "Unesite naziv OVDJE")

Također možemo vratiti ulazne podatke u Excel tablicu pomoću varijable.

12345678910 Sub EnterNumber ()Uključeno Slijedi nastavak greškeZatamni dblZnači kao dvostrukodblAmount = InputBox ("Molimo unesite potrebni iznos", "Unesite iznos")Ako je dblAmount 0 TadaRaspon ("A1") = dblAmountDrugoMsgBox "Niste unijeli broj!"Završi akoKraj podm

U gornjem primjeru moramo unijeti broj. Ako unesemo broj, onda varijablu dblAmount stavit će broj u Excelov list u ćeliju A1. Međutim, ako ne unesemo broj, okvir za poruku će nam reći da nismo unijeli broj i ništa neće biti stavljeno u ćeliju A1.

Korištenje VBA InputBox u Access VBA

Okvir za unos VBA radi na isti način u Accessu kao i u Excelu pri vraćanju korisničkog unosa u obliku okvira za poruku.

Međutim, ako želite vratiti korisnički unos u bazu podataka, trebate koristiti objekt Recordset, a ne objekt Range kako se koristi u Excelu.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs kao baza podatakaDim rst As RecordsetPostavite dbs = CurrentDbPostavi rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)S prvim.Dodaj novi! InvNo = InputBox ("Molimo unesite broj fakture", "GENERACIJA BROJA RAČUNA", 1).AžuriranjeZavrši sprvo.ZatvoriPostavite rst = NištaPostavite dbs = NištaKraj podm

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave