VBA InputBox функция - Как да създам InputBox и съхранявам стойности?

Съдържание

Excel VBA InputBox

VBA InputBox е вградена функция, използвана за получаване на стойност от потребителя, тази функция има два основни аргумента, в които единият е заглавието на полето за въвеждане, а друг е въпросът за полето за въвеждане, функцията за въвеждане на полета може да съхранява само входящите типове данни което променливата може да побере.

Често в Excel използваме данните, които вече са там в листата на Excel. Понякога се нуждаем и от някакви входни данни от потребителите. Особено във VBA често се изисква въвеждане от потребителя.

Използвайки InputBox, можем да получим данните от потребителя и да ги използваме за нашата цел. InputBox ще поиска от потребителя да въведе стойността, като покаже InputBox.

Синтаксис

  • Подкана: Това не е нищо друго освен съобщение до потребителя чрез поле за въвеждане.
  • Заглавие: Какво е заглавието на полето за въвеждане?
  • По подразбиране: Каква е стойността по подразбиране на входното поле? Тази стойност се появява в областта за въвеждане на полето за въвеждане.

Тези три параметъра са достатъчно добри в Excel. Игнорирайте останалите 4 незадължителни параметъра. За да разберете този синтаксис, погледнете екранната снимка по-долу.

Как да създам InputBox във VBA?

Добре, позволява направо да преминем към практичност. Следвайте стъпките по-долу, за да създадете първото си поле за въвеждане.

Стъпка 1: Отидете на VBE (Visual Basic Editor) и поставете нов модул.

Стъпка 2: Щракнете двукратно върху вмъкнатия модул и създайте име на макрос.

Стъпка 3: Започнете да пишете думата „InputBox“, ще видите свързани опции.

Стъпка 4: Изберете полето за въвеждане и дайте място и ще видите синтаксиса на полето за въвеждане.

Стъпка 5: Дайте подканата като „Моля, въведете вашето име.“

Стъпка 6: Въведете заглавието на полето за въвеждане като „Лична информация“.

Стъпка 7: Въведете стойността по подразбиране като „Въведете тук“.

Стъпка 8: Готови сме. Изпълнете този код и вижте първото поле за въвеждане.

Съхранявайте стойността на InputBox в клетки

Сега ще преминем през процеса на съхраняване на стойности в клетки. Следвайте стъпките по-долу.

Стъпка 1: Деклариране на променливата като вариант.

Код:

Sub InputBox_Example () Dim i As Variant End Sub

Стъпка 2: За тази променлива задайте стойността през полето за въвеждане.

Код:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Моля, въведете вашето име", "Лична информация", "Въведете тук") End Sub

Забележка: След като полето за въвеждане дойде вдясно от знака за равенство, трябва да въведем аргументите или синтаксиса в скоби като нашите обикновени формули.

Стъпка 3: Сега, независимо от стойността, въведена в полето за въвеждане, трябва да я съхраним в клетка A1. Така че за това напишете кода като Range (“A1”) Стойност = i

Код:

Sub InputBox_Example () Dim i като вариант i = InputBox ("Моля, въведете вашето име", "Лична информация", "Въведете тук") Диапазон ("A1"). Стойност = i Край на под

Добре, приключихме Нека стартираме този код сега, като натиснете клавиша F5, или можете също да стартирате кода ръчно, както е показано на екрана по-долу.

Веднага след като стартирате този код, ще видим полето за въвеждане.

Въведете името и щракнете върху Ok.

Веднага след като въведете името и щракнете върху OK, ще видите стойността на полето за въвеждане в клетка A1.

Забележка: Можем да съхраняваме всяка стойност от входното поле, ако променливата е дефинирана правилно. В горния пример дефинирах променливата като Вариант, който може да съдържа всички видове данни.

Например, сега смених типа променлива на Date.

Сега стартирайте кода и въведете различно от датата.

Кликнете върху ok и вижте какъв е отговорът.

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.

Така че, съответно, изберете вашия тип. Избрах 1 като параметър, т.е. само числа.

Сега стартирайте кода и вида на текстовата стойност.

Щракнете върху OK и вижте какво се случва.

Пише, че номерът не е валиден. Така че можем да въведем само числа в това поле за въвеждане.

Неща за запомняне

  • Нуждаем се от променлива, за да съхраняваме стойността, дадена от полето за въвеждане.
  • Ако използвате InputBox без метода на приложението, трябва да сте перфектни по отношение на типа данни с променлива.
  • Използвайте тип данни Variant, който може да съдържа всякакъв тип данни и да ги съхранява.

Интересни статии...