Excel VBA InputBox

Čeprav večinoma uporabljate podatke, ki so že pri vas, včasih pride do situacije, ko želite, da uporabnik vnese podatke, kot so ime, starost itd., Vrsto osebnih podatkov. Tovrstne vhodne informacije so potrebne včasih, ko izvajamo anketo in potrebujejo pregled nepristranskega mnenja ljudi.

S pomočjo InputBox programa Excel VBA lahko uporabnik dobimo vhodne podatke. Kot pove že ime, InputBox deluje kot pojavno okno, ki uporabnika prosi, da naloži določene podatke.

Sintaksa za VBA InputBox

Sledi skladnja za VBA InputBox:

Kje,

  • Poziv - Sporočilo, ki se prikaže uporabniku. To je edini zahtevani argument, ostali ostali argumenti pa neobvezna.
  • Naslov - To je naslov, ki se pojavi v pogovornem oknu po uspešni izvedbi stavka InputBox. Če ni podan, sistem privzeto izpiše "Microsoft Excel" kot naslov.
  • Privzeto - privzeta vrednost je v pogovornem oknu. Prav tako lahko ostanemo nični. Za ta argument ni nastavljena privzeta vrednost.
  • XPos - Koordinacijo nastavite v pogovornem oknu na osi X.
  • YPos - Koordinacijo nastavite v pogovornem oknu na osi Y.
  • HelpFile - Lokacija datoteke pomoči, ki jo je treba uporabiti. Ta argument postane obvezen za nastavitev ob posredovanju argumenta 'Kontekst'.
  • Kontekst - predstavlja Pomoč ContextId za uporabljeno datoteko pomoči. Obvezna uporaba pri posredovanju argumenta 'HelpFile'.
  • Od vseh teh argumentov so le prvi trije dovolj, da uspešno ustvarite InputBox.

Ustvarjanje InputBoxa v Excelu VBA

Spodaj so navedeni naslednji koraki za ustvarjanje InputBox-a v Excelu s pomočjo kode VBA.

Predlogo za VBA InputBox Excel lahko prenesete tukaj - VBA Predloga za Vnos InToBox Excel
  • Odprite VBE (Visual Basic Editor) s pritiskom na Alt + F11 hkrati v datoteki Excel in kliknite Vstavi in dodajte nov modul v VBE.

  • Ustvarite makro v tem modulu z imenom 'Module1'. Makro dodelite ime.

  • V urejevalnik vnesite ukaz InputBox.

V stavek InputBox vnesite naslednje vhode:

  • Poziv: "Lahko vem vaše polno ime?"
  • Naslov: „Osebni podatki“
  • Privzeto: »Začnite tipkati tukaj

Koda:

 Pod InputBoxEX () InputBox "Ali lahko vem vaše ime?", "Osebni podatki", "Začnite vnašati tukaj" konec Sub 

  • Pritisnite F5 ali gumb za zagon, da zaženete to kodo.

Kako shraniti izhod InputBox-a v celice?

Ustvarili ste InputBox, da dobite vnos od uporabnika. Vendar, kje se bo izhod shranil? Nismo omenili nobene lokacije, na kateri se lahko shrani izhod.

Izhod, ki ga dobimo od InputBoxa, shranimo v excel celice, tako da sledimo spodnjim korakom v VBA:

  • Označite novo spremenljivko 'Ime' s tipom 'Varianta'. Ta vrsta spremenljivke lahko sprejme katero koli vrednost (numerično / niz / logično itd.).

Koda:

 Sub InputBoxEX () Dim ime kot varianta konec Sub 

  • Uporabite InputBox, če želite dodeliti vrednost tej spremenljivki, imenovani 'Ime'.

Koda:

 Sub InputBoxEX () Dim ime kot ime variante = InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "začnite vnašati tukaj") konec pod 

Če bi oklepaje opazili po stavku InputBox, so ti potrebni, ker ta stavek uporabljamo za spremenljivko 'Ime'. Takoj ko postane vrednost spremenljivki, jo je treba omeniti v pravilni obliki z oklepaji.

  • Ne glede na vrednost, ki jo je uporabnik vnesel v pogovorno okno, želimo to videti v celici A1 lista Excel. V VBE vstavite naslednjo izjavo za isto: Območje ("A1") Vrednost = Ime.

Koda:

 Pod InputBoxEX () Dim ime kot ime variante = InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "Začnite vnašati tukaj") Območje = "Ime konca" Pod 

To je to, zdaj zaženimo to kodo in poglejmo, kako deluje.

  • Kliknite gumb Zaženi ali pritisnite F5, če želite zagnati to kodo, dobite naslednje pogovorno okno. V pogovorno okno z imenom "Osebni podatki" napišite svoje ime in pritisnite OK, da vidite, kje se natisne rezultat.

  • Takoj, ko vnesete vrednost in kliknete V redu, lahko vidite vrednost, vneseno v celico A1. Glej posnetek zaslona spodaj.

Če je spremenljivka pravilno definirana, lahko s pomočjo InputBox shranite katero koli vrednost. V tem primeru ste spremenljivko 'Ime' opredelili kot 'Varianto'. Varianta podatkov lahko sprejme katero koli podatkovno vrednost, kot sem že povedal.

Glej spodnji primer:

Podavam številko kot argument v pogovorno okno, ko se pojavi. Glej kot spodaj:

Kliknite OK, poglejte spodnji izhod:

Vrednost v celici A1 se spremeni v 2019.

Zdaj spremenimo vrsto spremenljivke v Datum.

Koda:

 Pod InputBoxEX () Dim Ime kot datum ime = InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "Začnite vnašati sem") Vrednost = Ime Konec Pod 

Zaženite kodo in poskusite vnesti vrednost, ki ni datum. Sam vpišem svoje ime in kliknem V redu.

  • Ko kliknete V redu, se prikaže sporočilo o napaki v času teka, ki pravi: "Vnesite neskladje".

Do tega je prišlo, ker je vrsta spremenljivke Datum zdaj in sem dal vhodni argument, ki ni vrednost datuma (ime niza). Zaradi katere se ta koda ne izvrši in vrže napako.

Preverjanje vnosa uporabnika

Kaj pa, če vam povem, da je uporabniški vnos lahko omejen? Ja, res je! Uporabniški vnos lahko omejite na znake, številke ali logiko itd.

Če želite omejiti uporabniški vnos, lahko uporabite Application.InputBox.

Sintaksa za Application.InputBox je naslednja:

Kje,

Poziv - Sporočilo, ki se pojavi za uporabnika.

Naslov - Naslov pogovornega okna.

Privzeto - privzeta vrednost, ki se pojavi na področju za tipkanje v pogovornem oknu.

Vrsta - vrsta vhoda.

To so edini pomembni argumenti, ki zadostujejo za vodenje te izjave.

Začnimo to s primerom.

  • Označite spremenljivko Ime kot varianto.

Koda:

 Sub InputBoxEX () Dim ime kot varianta konec Sub 

Spremenite Application.InputBox spremenljivki, imenovani Name, z enakimi argumenti kot tisti, ki ste jih uporabili InputBox. tj. poziv, naslov in privzeto. Glej kodo spodaj:

Koda:

 Pod InputBoxEX () Dim ime kot ime variante = Application.InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "Začnite vnašati tukaj") End Sub 

Zdaj 5-krat postavite vejico, da prezrete Levo, Vrh, HelpFile in HelpContextID. Po 5 vejicah lahko določite vrsto vnosa.

Koda:

 Pod InputBoxEX () Dim ime kot ime variante = Application.InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "začnite vnašati tukaj",,,,, konec pod 

Vrsta vhodnega niza ima spodaj omenjene potrditve:

  • Izberimo 1 kot Type v naši izjavi. Pomeni, da so v pogovornem oknu, ki se pojavi, sprejemljive samo številke / številčne vrednosti.

Koda:

 Pod InputBoxEX () Dim ime kot ime variante = Application.InputBox ("Ali lahko vem vaše ime?", "Osebni podatki", "Začnite vnašati tukaj",,,,, 1) End Sub 

  • Kodo zaženite ročno ali s tipko F5 in vnesite v polje za tipkanje, kot je prikazano spodaj. Nato kliknite V redu in si oglejte izhod.

Piše, številka ni veljavna. To se zdi logično, ker smo spremenljivo vrsto vnosa postavili kot številko in besedilo podali kot vhod, ki ga sistem ni sprejemljiv.

Na ta način lahko omejite uporabnika, da vnese samo vrednosti, ki jih želite videti v programu InputBox.

Stvari, ki jih je treba zapomniti

  • InputBox sprejme do 255 argumentov in lahko prikaže samo 254. Torej, bodite previdni pri največji dolžini, ki jo lahko vnese uporabnik.
  • Način uporabe lahko uporabite za nastavitev vrste vhodnih podatkov. Če pa se ne uporablja, morate biti natančnejši glede vrste vhodnih podatkov.
  • Priporočljivo je izbrati različico vrste podatkov, saj lahko vsebuje katero koli od številčnih / besedilnih / logičnih itd. B = vrednosti.

Priporočeni članki

To je vodnik za VBA InputBox. Tu smo razpravljali o tem, kako ustvariti InputBox v Excelu z uporabo kode VBA skupaj s praktičnimi primeri in naložljivo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kako uporabljati FIND funkcijo v Excelu
  2. Ustvarjanje funkcije VBA v Excelu
  3. Vodnik po območju v Excelu
  4. Kako uporabljati funkcijo VBA VLOOKUP?

Kategorija: