Excel VBA InputBox
VBA InputBox is een ingebouwde functie die wordt gebruikt om een waarde van de gebruiker te krijgen, deze functie heeft twee belangrijke argumenten waarbij de ene de kop is voor het invoervak en de andere de vraag voor het invoervak, de invoervakfunctie kan alleen de invoer van de gegevenstypen opslaan die het variabele kan bevatten.
Vaak gebruiken we in Excel de gegevens die al in de Excel-sheet staan. Soms hebben we ook een soort invoergegevens van gebruikers nodig. Vooral in VBA is vaak input van de gebruiker vereist.
Met behulp van de InputBox kunnen we de gegevens van de gebruiker ophalen en voor onze doeleinden gebruiken. Een InputBox vraagt de gebruiker om de waarde in te voeren door de InputBox weer te geven.

Syntaxis

- Vraag: dit is niets anders dan het bericht aan de gebruiker via een invoerveld.
- Titel: Wat is de titel van het invoerveld?
- Standaard: wat is de standaardwaarde van het invoervak? Deze waarde verschijnt in het typegebied van het invoervak.
Deze drie parameters zijn goed genoeg in Excel. Negeer de andere 4 optionele parameters. Bekijk de onderstaande schermafbeelding om deze syntaxis te begrijpen.

Hoe InputBox in VBA te maken?
Oké, laten we meteen naar praktische zaken springen. Volg de onderstaande stappen om uw allereerste inputbox te maken.
Stap 1: Ga naar VBE (Visual Basic Editor) en voeg een nieuwe module in.

Stap 2: Dubbelklik op de ingevoegde module en maak een macronaam.

Stap 3: Begin met het typen van het woord "InputBox" en u ziet gerelateerde opties.

Stap 4: Selecteer de inputbox en geef ruimte, en je zult de syntaxis van de inputbox zien.

Stap 5: Geef de prompt als "Voer uw naam in".

Stap 6: Typ de titel van het invoervak als "Persoonlijke informatie".

Stap 7: Typ de standaardwaarde als 'Typ hier'.

Stap 8: We zijn klaar. Voer deze code uit en zie uw eerste invoerveld.


Sla de waarde van InputBox op in cellen
Nu gaan we door het proces van het opslaan van waarden in cellen. Volg onderstaande stappen.
Stap 1: De variabele declareren als variant.
Code:
Sub InputBox_Example () Dim i As Variant End Sub
Stap 2: Wijs voor deze variabele de waarde toe via het invoervak.
Code:
Sub InputBox_Example () Dim i As Variant i = InputBox ("Voer uw naam in", "Persoonlijke informatie", "Typ hier") End Sub
Opmerking: zodra het invoervak rechts van het gelijkteken komt, moeten we de argumenten of syntaxis tussen haakjes invoeren, zoals bij onze reguliere formules.
Stap 3: Wat de waarde ook is die in het invoervak is getypt, we moeten deze opslaan in cel A1. Dus schrijf hiervoor de code als Bereik ("A1") Waarde = i
Code:
Sub InputBox_Example () Dim i As Variant i = InputBox ("Voer uw naam in", "Persoonlijke informatie", "Typ hier") Bereik ("A1"). Waarde = i End Sub
Ok, we zijn klaar. Laten we deze code nu uitvoeren door op de F5-toets te drukken, of u kunt de code ook handmatig uitvoeren, zoals weergegeven in de onderstaande schermafbeelding.

Zodra je deze code uitvoert, zien we het invoerveld.

Typ de naam en klik op Ok.

Zodra u de naam typt en op OK klikt, ziet u de inputbox-waarde in cel A1.

Opmerking: we kunnen elke waarde uit het invoervak opslaan als de variabele correct is gedefinieerd. In het bovenstaande voorbeeld heb ik de variabele gedefinieerd als een variant, die alle soorten gegevens kan bevatten.
Nu heb ik bijvoorbeeld het type variabele gewijzigd in Datum.

Voer nu de code uit en typ iets anders dan de datum.

Klik op ok en kijk wat de reactie is.

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.

Selecteer daarom uw type. Ik heb 1 als parameter geselecteerd, dwz alleen cijfers.

Voer nu de code en het type tekstwaarde uit.

Klik op OK en kijk wat er gebeurt.

Er staat dat het nummer niet geldig is. We kunnen dus alleen cijfers invoeren in dit invoerveld.
Dingen om te onthouden
- We hebben een variabele nodig om de waarde van het invoervak op te slaan.
- Als u InputBox gebruikt zonder de toepassingsmethode, zou u perfect moeten zijn over het variabele gegevenstype.
- Gebruik het gegevenstype Variant, dat elk gegevenstype en elke opslag kan bevatten.