Funkcia VBA InputBox - Ako vytvoriť InputBox a uložiť hodnoty?

Excel VBA InputBox

VBA InputBox je vstavaná funkcia používaná na získanie hodnoty od používateľa. Táto funkcia má dva hlavné argumenty, z ktorých jeden je nadpisom vstupného poľa a druhým je otázka vstupného poľa, funkcia vstupného poľa môže ukladať iba vstupné typy údajov. ktoré môže obsahovať premenná.

Často v programe Excel používame údaje, ktoré sa už nachádzajú v hárku programu Excel. Niekedy potrebujeme nejaké vstupné údaje aj od používateľov. Najmä vo VBA sa často vyžaduje vstup od používateľa.

Pomocou InputBoxu môžeme získať údaje od používateľa a použiť ich na náš účel. InputBox požiada používateľa o zadanie hodnoty zobrazením InputBoxu.

Syntax

  • Výzva: Toto nie je nič iné ako správa pre používateľa prostredníctvom vstupného poľa.
  • Názov: Aký je názov vstupného poľa?
  • Predvolená hodnota: Aká je predvolená hodnota vstupnej schránky? Táto hodnota sa zobrazuje v oblasti na zadávanie textu do vstupného poľa.

Tieto tri parametre sú v programe Excel dosť dobré. Ostatné 4 voliteľné parametre ignorujte. Ak chcete pochopiť túto syntax, pozrite sa na snímku obrazovky nižšie.

Ako vytvoriť InputBox vo VBA?

Dobre, poďme rovno skočiť na praktickosť. Podľa nasledujúcich pokynov vytvoríte svoje vôbec prvé vstupné pole.

Krok 1: Prejdite na VBE (editor jazyka Visual Basic) a vložte nový modul.

Krok 2: Dvakrát kliknite na vložený modul a vytvorte názov makra.

Krok 3: Začnite písať slovo „InputBox“, zobrazia sa súvisiace možnosti.

Krok 4: Vyberte vstupný box a dajte mu priestor. Uvidíte syntax vstupného boxu.

Krok 5: Dajte výzvu ako „Zadajte svoje meno“.

Krok 6: Zadajte názov vstupného poľa ako „Osobné informácie“.

Krok 7: Zadajte predvolenú hodnotu ako „Sem zadajte“.

Krok 8: Hotovo. Spustite tento kód a pozrite si svoje prvé vstupné pole.

Uložte hodnotu InputBoxu do buniek

Teraz prejdeme procesom ukladania hodnôt do buniek. Postupujte podľa nasledujúcich krokov.

Krok 1: Deklarovanie premennej ako Variant.

Kód:

Sub InputBox_Example () Dim i As Variant End Sub

Krok 2: Pre túto premennú priraďte hodnotu cez vstupné pole.

Kód:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Zadajte svoje meno", "Osobné údaje", "Sem zadajte") Koniec Sub

Poznámka: Keď sa vstupné pole dostane napravo od znamienka rovnosti, musíme zadať argumenty alebo syntax v zátvorkách, ako sú napríklad naše bežné vzorce.

Krok 3: Teraz, bez ohľadu na hodnotu zadanú do vstupného poľa, musíme ju uložiť do bunky A1. Preto napíšte kód ako Rozsah („A1“). Hodnota = i

Kód:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Zadajte svoje meno", "Osobné údaje", "Sem zadajte") Rozsah ("A1"). Hodnota = i Koniec Sub

Dobre, skončili sme. Spustíme tento kód teraz stlačením klávesu F5, alebo ho môžete spustiť aj manuálne, ako je znázornené na nasledujúcom obrázku obrazovky.

Hneď ako spustíte tento kód, zobrazí sa nám vstupná schránka.

Zadajte meno a kliknite na OK.

Hneď ako napíšete meno a kliknete na OK, uvidíte v bunke A1 hodnotu vstupného poľa.

Poznámka: Ak je premenná správne definovaná, môžeme do nej uložiť ľubovoľnú hodnotu. Vo vyššie uvedenom príklade som definoval premennú ako Variant, ktorá môže obsahovať všetky typy údajov.

Napríklad teraz som zmenil typ premennej na Date.

Teraz spustite kód a zadajte iný údaj ako dátum.

Kliknite na ok a uvidíte, aká je odpoveď.

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.

Preto podľa toho vyberte svoj typ. Ako parameter som vybral 1, tj iba čísla.

Teraz spustite kód a typ textovej hodnoty.

Kliknite na OK a uvidíte, čo sa stane.

Uvádza sa v ňom, že číslo je neplatné. Do tohto vstupného poľa teda môžeme zadávať iba čísla.

Na čo treba pamätať

  • Potrebujeme premennú, aby sme mohli uložiť hodnotu danú vstupným poľom.
  • Ak používate InputBox bez metódy Application, mali by ste byť v variabilnom dátovom type dokonalí.
  • Použite dátový typ Variant, ktorý môže obsahovať akýkoľvek druh dátového typu a ukladať ho.

Zaujímavé články...