Excel VBA InputBox

Iako se u većini slučajeva koriste podaci koji su već kod vas, ponekad dođete do situacije u kojoj želite da korisnik unese podatke poput imena, starosti itd. Vrste osobnih podataka. Ove vrste ulaznih informacija potrebne su ponekad kada provodimo anketu i trebaju pregledati nepristrano mišljenje ljudi.

Koristeći InputBox programa Excel VBA, od korisnika možemo dobiti ulazne podatke. Kao što ime sugerira, InputBox djeluje kao skočni okvir koji od korisnika traži da unese određene podatke.

Sintaksa za VBA InputBox

Slijedi sintaksa za VBA InputBox:

Gdje,

  • Odzivnik - poruka koja se prikazuje korisniku. Ovo je jedini potrebni argument, a ostali argumenti nisu obavezni.
  • Naslov - To je naslov koji se pojavljuje u dijaloškom prozoru nakon uspješne izvedbe InputBox izraza. Ako nije naveden, po zadanom sustav ispisuje "Microsoft Excel" kao naslov.
  • Zadano - To je zadana vrijednost koja se pojavljuje u dijaloškom okviru. Također možemo zadržati ništav. Za ovaj argument nije postavljena zadana vrijednost.
  • XPos - Postavite koordinat dijaloškog okvira na osi X.
  • YPos - Postavite koordinat dijaloškog okvira na osi Y.
  • FileFile - Lokacija datoteke pomoći koja bi se trebala koristiti. Ovaj argument postaje obvezan za postavljanje nakon donošenja argumenta "Kontekst".
  • Kontekst - predstavlja Kontekst pomoći za korištenu datoteku pomoći. Obavezno upotrijebiti kad se prođe argument 'HelpFile'.
  • Od svih ovih argumenata, samo su prva tri dovoljna za uspješno stvaranje InputBoxa.

Izrada InputBoxa u Excelu VBA

Ispod su sljedeći koraci za stvaranje InputBox-a u Excelu pomoću VBA koda.

Ovdje možete preuzeti ovaj VBA InputBox Excel predložak - VBA InputBox Excel predložak
  • Otvorite VBE (Visual Basic Editor) istovremeno pritiskom na Alt + F11 u Excel datoteci i kliknite Umetanje i dodavanje novog modula u VBE.

  • Napravite makronaredbu u ovom modulu pod nazivom 'Module1'. Dodijelite ime makronaredbi.

  • Utipkajte naredbu InputBox u uređivač.

U InputBox izjavu navedite sljedeće ulaze:

  • Pitanje: "Mogu li znati vaše puno ime?"
  • Naslov: "Osobni podaci"
  • Zadano: "Počni ovdje tipkati

Kodirati:

 Pod InputBoxEX () InputBox "Mogu li znati vaše ime?", "Osobni podaci", "Počni ovdje tipkati" Kraj pod 

  • Pritisnite F5 ili gumb za pokretanje da biste pokrenuli ovaj kod.

Kako pohraniti izlaz InputBox u stanice?

Stvorili ste InputBox kako biste dobili unos od korisnika. Međutim, gdje će se pohraniti izlaz? Nismo spomenuli nijedno mjesto na kojem se izlaz može pohraniti.

Spremimo izlaz koji smo dobili od InputBox-a za uspješnost u sljedećim koracima u VBA:

  • Deklarirajte novu varijablu 'Name' s tipom 'Variant'. Ova vrsta varijable može uzeti bilo koju vrijednost (numeričku / niz / logičku itd.).

Kodirati:

 Sub InputBoxEX () Dim Dim Ime kao varijanta Kraj Sub 

  • Upotrijebite InputBox kako biste dodijelili vrijednost ovoj varijabli zvanoj "Ime".

Kodirati:

 Pod InputBoxEX () Dim Ime kao naziv varijante = InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje") Kraj Sub 

Ako ste mogli primijetiti zagrade nakon izraza InputBox, one su potrebne jer ovu izjavu koristimo za varijablu 'Name'. Čim postane vrijednost koja se treba dodijeliti varijabli, treba je spomenuti u pravilnom obliku sa zagradama.

  • Bez obzira na to koju je vrijednost korisnik upisao u dijaloškom okviru, želimo da to vidimo u ćeliji A1 Excel lista. U VBE stavite sljedeću izjavu za istu: Raspon („A1“) Vrijednost = Ime.

Kodirati:

 Pod InputBoxEX () Dim ime kao naziv varijante = InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje") raspon ("A1") Vrijednost = Ime Kraj Pod 

To je to, sada pokrenimo ovaj kod i vidjeti kako to funkcionira.

  • Kliknite gumb Pokreni ili pritisnite F5 za pokretanje ovog koda, dobit ćete sljedeći dijaloški okvir. Unesite dijalog u dijaloški okvir s imenom "Osobni podaci" i pritisnite OK da biste vidjeli gdje se ispisuje.

  • Čim unesete vrijednost i kliknete na U redu, možete vidjeti vrijednost unesenu u ćeliju A1. Pogledajte snimku zaslona u nastavku.

Bilo koja vrijednost može se pohraniti pomoću InputBox ako je varijabla ispravno definirana. U ovom ste slučaju varijablu 'Name' definirali kao 'Variant'. Varijanta tipa podataka može uzeti bilo koju vrijednost podataka kao što sam već rekao.

Pogledajte primjer u nastavku:

Dajem broj kao argument dijaloškom okviru kada se pojavi. Pogledajte dolje:

Kliknite na U redu, pogledajte izlaz ispod:

Vrijednost u ćeliji A1 mijenja se u 2019. godinu.

Sada promijenimo vrstu varijable u Datum.

Kodirati:

 Pod InputBoxEX () Dim Ime kao datum Ime = InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje") raspon ("A1") Vrijednost = Ime Kraj Sub 

Pokrenite kôd i pokušajte unijeti vrijednost koja nije datum. Ja ću unijeti svoje ime i kliknuti U redu.

  • Nakon što kliknete U redu, poruka o pogrešci u vremenu pokretanja koja kaže: "Upišite neusklađenost".

Do toga je došlo jer je vrsta varijable ime Datum sada i dao sam ulazni argument koji nije vrijednost datuma (naziv niza). Zbog čega se ovaj kôd ne izvršava i stvara pogrešku.

Provjera korisničkog unosa

Što ako vam kažem da se korisnički unos može ograničiti? Da, istina je! Korisnički unos možete ograničiti na znakove, brojeve ili logiku itd.

Za ograničavanje korisničkog unosa možete upotrijebiti Application.InputBox.

Sintaksa za Application.InputBox je sljedeća:

Gdje,

Odzivnik - poruka koja se pojavljuje za korisnika.

Naslov - Zaglavlje dijaloškog okvira.

Zadano - zadana vrijednost koja se pojavljuje na području za tipkanje u dijaloškom okviru.

Vrsta - vrsta ulaza.

Ovo su jedini važni argumenti koji su dovoljni za pokretanje ove izjave.

Počnimo s primjerom.

  • Deklarirajte naziv varijable kao varijantu.

Kodirati:

 Sub InputBoxEX () Dim Dim Ime kao varijanta Kraj Sub 

Dodijelite Application.InputBox varijabli zvanoj Name s istim argumentima kao i oni koji ste koristili InputBox. tj. prompt, naslov i zadano. Pogledajte kôd u nastavku:

Kodirati:

 Pod InputBoxEX () Dim ime kao naziv varijante = Application.InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje") Kraj Sub 

Sada stavite zarez 5 puta da biste ignorirali Left, Top, HelpFile i HelpContextID. Nakon 5 zareza, možete odrediti vrstu unosa.

Kodirati:

 Pod InputBoxEX () Dim ime kao naziv varijante = Application.InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje",,,, End Sub 

Vrsta ulaznog niza ima ispod spomenutih potvrda:

  • Izaberite 1 kao Tip u našoj izjavi. To znači da su u dijaloškom okviru koji se pojavi pojavljuju samo Brojevi / Numeričke vrijednosti.

Kodirati:

 Pod InputBoxEX () Dim Ime kao naziv varijante = Application.InputBox ("Mogu li znati vaše ime?", "Osobni podaci", "Počnite tipkati ovdje",,,, 1) Kraj Sub 

  • Ručno pokrenite kôd ili pomoću tipke F5 i navedite ime kao ulaz u području za tipkanje kao što je prikazano u nastavku. Zatim kliknite U redu i pogledajte Izlaz.

Kaže, broj nije valjan. To se čini logičnim jer smo varijabilnu vrstu unosa postavili kao broj i dali tekst kao unos koji sustav nije prihvatljiv.

Na ovaj način možete ograničiti korisnika da unosi samo one vrijednosti koje želite vidjeti kroz InputBox.

Stvari koje treba zapamtiti

  • InputBox prihvaća do 255 argumenata i može prikazati samo 254. Dakle, budite oprezni oko maksimalne duljine koju korisnik može upisati.
  • Način aplikacije može se koristiti za postavljanje vrste ulaznih podataka. Međutim, ako se ne koristi, tada morate pobliže odrediti vrstu ulaznih podataka.
  • Preporučuje se odabir varijantne vrste podataka jer može sadržavati bilo koji numerički / tekst / logički itd. B = vrijednosti.

Preporučeni članci

Ovo je vodič za VBA InputBox. Ovdje smo razgovarali o tome kako stvoriti InputBox u Excelu pomoću VBA koda zajedno s praktičnim primjerima i download-ovim Excel predloška. Možete i pregledati naše druge predložene članke -

  1. Kako se u programu Excel koristi funkcija FIND
  2. Stvaranje VBA funkcije u Excelu
  3. Vodič za domet u Excelu
  4. Kako se koristi VBA VLOOKUP funkcija?

Kategorija: