Funkce VBA InputBox | Jak vytvořit InputBox a uložit hodnoty?

Excel VBA InputBox

VBA InputBox je vestavěná funkce sloužící k získání hodnoty od uživatele, tato funkce má dva hlavní argumenty, z nichž jeden je nadpis pro vstupní pole a druhý je otázka pro vstupní pole, funkce vstupního pole může ukládat pouze vstup datových typů které může mít proměnná.

V aplikaci Excel často používáme data, která jsou již v listu aplikace Excel. Někdy potřebujeme také nějaké vstupní údaje od uživatelů. Zejména ve VBA je často vyžadován vstup od uživatele.

Použitím InputBoxu můžeme získat data od uživatele a použít je pro náš účel. InputBox vyzve uživatele k zadání hodnoty zobrazením InputBoxu.

Syntax

  • Výzva: Toto není nic jiného než zpráva pro uživatele prostřednictvím vstupního pole.
  • Název: Jaký je název vstupního pole?
  • Výchozí: Jaká je výchozí hodnota vstupního pole? Tato hodnota se objeví v oblasti psaní vstupního pole.

Tyto tři parametry jsou v aplikaci Excel dost dobré, ostatní 4 volitelné parametry ignorujte. Chcete-li porozumět této syntaxi, podívejte se na následující snímek obrazovky.

Jak vytvořit InputBox ve VBA?

Dobře, pojďme skočit na praktičnost. Podle níže uvedených kroků vytvořte svůj vůbec první vstupní box.

Tuto šablonu VBA InputBox Excel si můžete stáhnout zde - Šablona VBA InputBox Excel

Krok 1: Přejděte na VBE (Visual Basic Editor) a vložte nový modul.

Krok 2: Poklepejte na vložený modul a vytvořte název makra.

Krok 3: Začněte psát slovo „InputBox“, zobrazí se související možnosti.

Krok 4: Vyberte INPUTBOX a dejte prostor a uvidíte syntaxi vstupního pole.

Krok 5: Zadejte výzvu jako „Zadejte své jméno“.

Krok 6: Zadejte název vstupního pole jako „Osobní údaje“.

Krok 7: Zadejte výchozí hodnotu jako „Sem zadejte“

Krok 8: Hotovo. Spusťte tento kód a podívejte se na své první vstupní pole.

Uložte hodnotu InputBoxu do buněk

Nyní projdeme procesem ukládání hodnot do buněk. Postupujte podle následujících kroků.

Krok 1: Deklarace proměnné jako varianty.

Kód:

 Sub InputBox_Example () Dim i As Variant End Sub 

Krok 2: U této proměnné přiřaďte hodnotu prostřednictvím vstupního pole.

Kód:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Zadejte své jméno", "Osobní údaje", "Sem zadejte") End Sub 

Poznámka: Jakmile se vstupní pole dostane napravo od znaménka rovná se, musíme zadat argumenty nebo syntaxi v závorkách, jako jsou naše běžné vzorce.

Krok 3: Nyní bez ohledu na hodnotu zadanou do vstupního pole ji musíme uložit do buňky A1. Proto zapište kód jako Range („A1“). Hodnota = i

Kód:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Zadejte své jméno", "Osobní údaje", "Sem zadejte") Rozsah ("A1"). Hodnota = i Konec Sub 

Dobře, jsme hotovi. Spustíme tento kód nyní stisknutím klávesy F5 nebo můžete kód spustit také ručně, jak je znázorněno na následujícím snímku obrazovky.

Jakmile spustíte tento kód, zobrazí se vstupní pole.

Zadejte jméno a klikněte na OK.

Jakmile napíšete jméno a kliknete na OK, uvidíte v buňce A1 hodnotu vstupního pole.

Poznámka: Můžeme uložit jakoukoli hodnotu ze vstupního pole, pokud je proměnná definována správně. Ve výše uvedeném příkladu jsem definoval proměnnou jako Variant, která může obsahovat všechny typy dat.

Například teď jsem změnil typ proměnné na Date.

Nyní spusťte kód a zadejte jiný než datum.

Klikněte na ok a podívejte se, jaká je odpověď.

Chybovou hodnotu jsme dostali jako Neshoda typu . Protože jsme deklarovali proměnný datový typ jako DATE, nemůžeme do vstupního pole uložit nic jiného než DATE.

Nyní zadejte datum a uvidíte, co se stane.

Jakmile napíšete datum a poté kliknete na OK, uvidíte, jaká je odpověď.

Protože jsme zadali správnou hodnotu, dostali jsme výsledek do buňky.

Ověření vstupu od uživatele

Víte, co vlastně můžeme povolit uživatelům zadávat pouze konkrétní hodnoty, tj. Umožnit uživateli zadávat pouze text, pouze číslo, pouze logické hodnoty atd.

Abychom mohli provést tento úkol, musíme použít metodu Application.InputBox.

Podívejme se na syntaxi Application.InputBox.

 

  • Výzva: Toto není nic jiného než zpráva pro uživatele prostřednictvím vstupního pole.
  • Název: Jaký je název vstupního pole?
  • Výchozí: Jaká je výchozí hodnota vstupního pole? Tato hodnota se objeví v oblasti psaní vstupního pole.
  • Vlevo: Jaká by měla být poloha x vstupního pole v aktuálním okně?
  • Na začátek: Jaká by měla být poloha y vstupního pole v aktuálním okně?

Pro spuštění tohoto vstupního pole deklarujte proměnnou a přiřaďte hodnotu proměnné.

Nyní přiřaďte hodnotu ke spuštění slova Aplikace.

Za slovo Aplikace vložte tečku (.) A zadejte Inputbox.

Vyberte vstupní pole a otevřete rámeček.

Jako obvykle zadejte výzvu, název a výchozí hodnotu.

Nyní ignorujte vlevo, nahoře, soubor nápovědy, ID kontextu nápovědy zadáním 5 čárek (,).

Zde Type znamená, jaký by měl být vstupní řetězec. Níže jsou k dispozici ověření.

Podle toho tedy vyberte svůj typ. Jako parametr jsem vybral 1, tj. Pouze čísla.

Nyní spusťte kód a typ textové hodnoty.

Klikněte na OK a uvidíte, co se stane.

Říká se, že číslo není platné. Do tohoto vstupního pole tedy můžeme zadat pouze čísla.

Věci k zapamatování

  • Potřebujeme proměnnou k uložení hodnoty dané vstupním polem.
  • Pokud používáte InputBox bez metody Application, pak byste měli být s variabilním datovým typem dokonalí.
  • Použijte datový typ Variant, který může obsahovat jakýkoli druh datového typu a úložiště.