VBA InputBox

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.

Door gebruik te maken van de InputBox kunnen we de gegevens van de gebruiker opvragen en voor ons doel gebruiken. Een InputBox zal de gebruiker vragen 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.

U kunt deze VBA InputBox Excel-sjabloon hier downloaden - VBA InputBox Excel-sjabloon

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 de inputbox.

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 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 hebben de foutwaarde als Type mismatch . Omdat we het variabele datatype DATE hebben gedeclareerd, kunnen we niets anders opslaan dan DATE met een inputbox.

Voer nu de datum in en kijk wat er gebeurt.

Zodra je de datum intypt en vervolgens op OK klikt en kijk wat de reactie 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 and etc.

In order 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 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.

So, accordingly, select your type. I have selected 1 as the parameter i.e. only numbers.

Now run the code and type of text value.

Click on OK and see what happens.

It says the number is not valid. So we can enter only numbers in this input box.

Things to Remember

  • We need a variable to store the value given by the input box.
  • If you are using InputBox without the Application method then you should be perfect about the variable data type.
  • Use Variant data type which can hold any kind of data type and stores.