Vstupný modul Excel VBA

Aj keď vo väčšine prípadov používate údaje, ktoré sú už s vami, niekedy prídete so situáciou, keď chcete, aby užívateľ vložil údaje, ako sú meno, vek atď. Druh osobných informácií. Tieto druhy vstupných informácií sú niekedy potrebné, keď vykonávame prieskum, a je potrebné preskúmať nezaujatý názor ľudí.

Pomocou vstupného modulu Excel VBA môžeme získať vstupné údaje od používateľa. Ako už názov napovedá, InputBox funguje ako kontextové okno, ktoré žiada používateľa, aby poskytol určité informácie.

Syntax pre VBA InputBox

Nasleduje syntax pre VBA InputBox:

Kde,

  • Výzva - správa, ktorá sa zobrazí používateľovi. Toto je jediný povinný argument, ostatné sú voliteľné.
  • Názov - Je to nadpis, ktorý sa objaví v dialógovom okne po úspešnom vykonaní príkazu InputBox. Ak nie je uvedený, systém predvolene vytlačí „Microsoft Excel“ ako nadpis.
  • Predvolená - je to predvolená hodnota, ktorá sa objaví v dialógovom okne. Môžeme to tiež nechať neplatné. Pre tento argument nie je nastavená žiadna predvolená hodnota.
  • XPos - Pozícia súradníc dialógového okna na osi X.
  • YPos - Poloha súradníc dialógového okna na osi Y.
  • HelpFile - umiestnenie súboru pomocníka, ktorý by sa mal použiť. Tento argument sa stáva povinným, keď sa predloží argument „Kontext“.
  • Kontext - predstavuje kontext pomocníka pre použitý súbor HelpFile. Povinné na použitie pri odovzdaní argumentu „HelpFile“.
  • Zo všetkých týchto argumentov sú iba prvé tri postačujúce na úspešné vytvorenie InputBoxu.

Vytváranie InputBox v Excel VBA

Nižšie sú uvedené rôzne kroky na vytvorenie InputBoxu v programe Excel pomocou kódu VBA.

Túto šablónu VBA InputBox Excel si môžete stiahnuť tu - VBA InputBox Excel Template
  • Otvorte VBE (Editor jazyka Visual Basic súčasným stlačením Alt + F11 v súbore Excel a kliknite na Vložiť a pridajte nový modul do VBE.

  • V tomto module vytvorte makro s názvom „Module1“. Makru priraďte názov.

  • V editore napíšte príkaz InputBox.

Do príkazu InputBox zadajte tieto vstupy:

  • Výzva: „Môžem poznať vaše celé meno?“
  • Názov: „Osobné údaje“
  • Predvolená hodnota: „Tu začnite písať

kód:

 Sub InputBoxEX () InputBox "Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu" End Sub 

  • Stlačením klávesu F5 alebo tlačidla Spustiť spustite tento kód.

Ako uložiť výstup InputBoxu do buniek?

Vytvorili ste InputBox, aby ste získali vstup od užívateľa. Kde sa však výstup uloží? Nezmienili sme sa o žiadnom mieste, kde je možné výstup uložiť.

Poďme si uložiť výstup, ktorý dostaneme zo InputBoxu, aby vynikli bunky podľa nasledujúcich krokov vo VBA:

  • Vyhláste novú premennú „Name“ s typom ako „Variant“. Tento typ premennej môže mať ľubovoľnú hodnotu (číselný / reťazec / logický atď.).

kód:

 Sub InputBoxEX () Dim Name As Variant End Sub 

  • Použite InputBox na priradenie hodnoty k tejto premennej nazývanej „Názov“.

kód:

 Sub InputBoxEX () Dim Name As Variant Name = InputBox ("Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu") End Sub 

Ak ste si mohli všimnúť zátvorky po príkaze InputBox, sú potrebné, pretože tento príkaz používame pre premennú „Názov“. Akonáhle sa stane hodnotou, ktorá sa má uviesť pre premennú, musí sa uviesť v správnom formáte so zátvorkami.

  • Bez ohľadu na to, akú hodnotu v dialógovom okne zadal používateľ, chceme, aby sa to zobrazilo v bunke A1 listu Excel. Do VBE vložte nasledujúci príkaz: Rozsah („A1“) Hodnota = Názov.

kód:

 Sub InputBoxEX () Dim Name As Variant Name = InputBox ("Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu") Rozsah ("A1"). Hodnota = Názov Koniec 

To je ono, teraz spustime tento kód a uvidíme, ako to funguje.

  • Kliknutím na tlačidlo Spustiť alebo stlačením klávesu F5 spustíte tento kód. Zobrazí sa nasledujúce dialógové okno. V dialógovom okne napíšte meno „Osobné údaje“ a stlačte OK, aby ste videli, kde sa výstup vytlačí.

  • Akonáhle vložíte hodnotu a kliknete na OK, uvidíte hodnotu zadanú v bunke A1. Pozri obrázok nižšie.

Akákoľvek hodnota môže byť uložená pomocou InputBox, ak je premenná správne definovaná. V tomto prípade ste definovali premennú „Name“ ako „Variant“. Ako som už uviedol, variant dátového typu môže mať akúkoľvek hodnotu.

Pozrite si nasledujúci príklad:

Keď sa objaví, dávam číslo ako argument pre dialógové okno. Pozri nižšie:

Kliknite na OK, pozrite si výstup nižšie:

Hodnota v bunke A1 sa zmení na 2019.

Teraz zmeňme typ premennej na Dátum.

kód:

 Sub InputBoxEX () Dim Name As Date Name = InputBox ("Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu") Rozsah ("A1"). Hodnota = Názov Koniec 

Spustite kód a skúste zadať inú hodnotu ako dátum. Zadám svoje meno a kliknem na OK.

  • Po kliknutí na tlačidlo OK sa zobrazí chybové hlásenie o čase spustenia s názvom „Nesúlad typu“.

Došlo k tomu, pretože typ názvu premennej je Dátum a teraz som zadal iný vstupný argument ako hodnotu dátumu (názov reťazca). Z tohto dôvodu sa tento kód nespustí a vyvolá chybu.

Overenie vstupu používateľa

Čo keď poviem, že užívateľský vstup môže byť obmedzený? Áno, je to pravda! Vstup používateľa môžete obmedziť na znaky, čísla alebo logické atď.

Na obmedzenie vstupu používateľa môžete použiť Application.InputBox.

Syntax pre Application.InputBox je nasledovná:

Kde,

Výzva - správa, ktorá sa zobrazí používateľovi.

Názov - Nadpis dialógového okna.

Predvolená - predvolená hodnota, ktorá sa objaví v oblasti písania textu v dialógovom okne.

Typ - typ vstupu.

Toto sú jediné dôležité argumenty, ktoré sú dostatočné na spustenie tohto tvrdenia.

Začnime to príkladom.

  • Vyhláste premennú Name ako Variant.

kód:

 Sub InputBoxEX () Dim Name As Variant End Sub 

Priraďte Application.InputBox premennej s názvom Name s rovnakými argumentmi ako tie, ktoré ste použili InputBox. tj výzva, názov a predvolené nastavenie. Pozrite si nasledujúci kód:

kód:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox ("Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu") End Sub 

Teraz vložte 5-krát čiarku, aby ste ignorovali identifikáciu Left, Top, HelpFile a HelpContextID. Po 5 čiarkach môžete určiť typ vstupu.

kód:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox ("Môžem poznať vaše meno?", "Osobné informácie", "Začať písať tu",,,,, End Sub 

Typ vstupného reťazca má nižšie uvedené validácie:

  • V našom vyhlásení vyberieme ako typ 1. To znamená, že v zobrazenom dialógovom okne sú prijateľné iba čísla / číselné hodnoty.

kód:

 Sub InputBoxEX () Dim Name As Variant Name = Application.InputBox („Môžem poznať vaše meno?“, „Osobné informácie“, „Začnite písať tu“,,,,, 1) End Sub 

  • Spustite kód manuálne alebo pomocou klávesu F5 a pomenujte ho ako vstup v oblasti písania, ako je to znázornené nižšie. Potom kliknite na OK a pozrite sa na Výstup.

To hovorí, že číslo nie je platné. Zdá sa to logické, pretože sme nastavili typ variabilného vstupu ako číslo a text sme zadali ako vstup, ktorý systém neakceptuje.

Týmto spôsobom môžete obmedziť užívateľa na zadávanie iba hodnôt, ktoré chcete vidieť prostredníctvom InputBoxu.

Čo je potrebné pamätať

  • InputBox akceptuje až 255 argumentov a môže zobraziť iba 254. Preto buďte opatrní pri maximálnej dĺžke, ktorú môže užívateľ zadať.
  • Na nastavenie typu vstupných údajov možno použiť aplikačnú metódu. Ak sa však nepoužíva, je potrebné bližšie špecifikovať typ vstupných údajov.
  • Odporúča sa zvoliť si iný typ údajov, pretože môže obsahovať ktorúkoľvek z číselných / textových / logických atď. B = hodnoty.

Odporúčané články

Toto bol sprievodca pre VBA InputBox. Tu sme diskutovali o tom, ako vytvoriť InputBox v Exceli pomocou kódu VBA spolu s praktickými príkladmi a stiahnuteľnou vynikajúcou šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako používať funkciu FIND v Exceli
  2. Vytvorenie funkcie VBA v Exceli
  3. Sprievodca rozsahom v Exceli
  4. Ako používať funkciu VBA VLOOKUP?

Kategórie: