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.

Pomocí 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.

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 vstupní pole 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 objeví 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, musíme ji uložit do buňky A1. Za tímto účelem napiš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á správně definována. 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ěď.

We got the error value as Type mismatch. Since we have declared the variable data type as DATE, we cannot store anything other than DATE with an inputbox.

Now enter the date and see what happens.

As soon as you type the date and then click on OK and see what the response is.

Since we have entered the correct value, we got the result in the cell.

Validation of Input from User

You know what we can actually allow users to enter only specific value i.e., allow the user to enter only text, only number, only logical values, etc.

To perform this task, we need to use the method Application.InputBox.

Let’s look at the syntax of the Application.InputBox.

  • Prompt: This is nothing but the message to the user through an input box.
  • Title: What is the title of the input box?
  • Default: What is the default value of the input box? This value appears in the typing area of the input box.
  • Left: What should be the x position of the input box in the current window?
  • Top: What should be the y position of the inputbox in the current window?

To start this, inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application, put a dot (.) and type Inputbox.

Select the input box and open the bracket.

As usual, enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

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, měli byste být perfektní ohledně proměnného datového typu.
  • Použijte datový typ Variant, který může obsahovat jakýkoli druh datového typu a ukládat.

Zajímavé články...