VBA InputBox-funktion - Hur skapar jag InputBox & Store-värden?

Innehållsförteckning

Excel VBA InputBox

VBA InputBox är en inbyggd funktion som används för att få ett värde från användaren, den här funktionen har två huvudargument där en är rubriken för inmatningsrutan och en annan är frågan för inmatningsrutan, inmatningsfunktion kan endast lagra datatyperna som den variabla kan innehålla.

Ofta i Excel använder vi data som redan finns i Excel-bladet. Ibland behöver vi också någon form av indata från användarna. Speciellt i VBA krävs ofta inmatning från användaren.

Med hjälp av InputBox kan vi hämta informationen från användaren och använda den för vårt syfte. En InputBox kommer att be användaren att ange värdet genom att visa InputBox.

Syntax

  • Fråga: Detta är inget annat än meddelandet till användaren via en inmatningsruta.
  • Titel: Vad är titeln på inmatningsrutan?
  • Standard: Vad är standardvärdet för inmatningslådan? Detta värde visas i inmatningsrutans skrivområde.

Dessa tre parametrar är tillräckligt bra i Excel. Ignorera de andra fyra valfria parametrarna. För att förstå denna syntax, titta på skärmdumpen nedan.

Hur skapar man InputBox i VBA?

Okej, låt oss hoppa direkt till praktiska. Följ stegen nedan för att skapa din första inkorg.

Steg 1: Gå till VBE (Visual Basic Editor) och sätt in en ny modul.

Steg 2: Dubbelklicka på den infogade modulen och skapa ett makronamn.

Steg 3: Börja skriva ordet "InputBox" du ser relaterade alternativ.

Steg 4: Välj inmatningsrutan och ge utrymme, så ser du inmatningslådans syntax.

Steg 5: Ge uppmaningen "Ange ditt namn."

Steg 6: Skriv in rubriken på inmatningsrutan som "Personlig information."

Steg 7: Skriv standardvärdet som "Skriv här."

Steg 8: Vi är klara. Kör den här koden och se din första inmatningsruta.

Lagra värdet på InputBox i celler

Nu kommer vi att gå igenom processen att lagra värden i celler. Följ stegen nedan.

Steg 1: Förklara variabeln som variant.

Koda:

Sub InputBox_Example () Dim i Som Variant End Sub

Steg 2: Tilldela värdet genom inmatningsrutan för denna variabel.

Koda:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Ange ditt namn", "Personlig information", "Skriv här") Avsluta Sub

Obs! När inmatningsrutan kommer till höger om likhetstecknet måste vi ange argumenten eller syntaxen inom parentes som våra vanliga formler.

Steg 3: Oavsett vilket värde som skrivs i inmatningsrutan måste vi lagra det i cell A1. Så för detta, skriv koden som Range (“A1”). Värde = i

Koda:

Sub InputBox_Example () Dim i Som Variant i = InputBox ("Vänligen ange ditt namn", "Personlig information", "Skriv här") Område ("A1"). Värde = i Avsluta Sub

Okej, vi är klara. Låt oss köra den här koden nu genom att trycka på F5-tangenten, eller så kan du också köra koden manuellt, som visas på skärmbilden nedan.

Så snart du kör den här koden ser vi inmatningslådan.

Skriv namnet och klicka på Ok.

Så snart du skriver namnet och klickar på OK ser du värdet för inmatningsfältet i cell A1.

Obs! Vi kan lagra valfritt värde från inmatningslådan om variabeln är korrekt definierad. I exemplet ovan har jag definierat variabeln som en variant, som kan innehålla alla typer av data.

Nu har jag till exempel ändrat variabeln till Datum.

Kör nu koden och skriv annan än datumet.

Klicka på ok och se vad svaret är.

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.

Så följaktligen välj din typ. Jag har valt 1 som parameter, dvs bara siffror.

Kör nu koden och typen av textvärde.

Klicka på OK och se vad som händer.

Det står att numret inte är giltigt. Så vi kan bara ange siffror i denna inmatningsruta.

Saker att komma ihåg

  • Vi behöver en variabel för att lagra värdet som anges av inmatningsrutan.
  • Om du använder InputBox utan applikationsmetoden bör du vara perfekt när det gäller den variabla datatypen.
  • Använd datatyp Variant, som kan innehålla alla typer av datatyp och lagra.

Intressanta artiklar...