VBA InputBox - Получаване на въвеждане от потребител в макрос - Примери за VBA код

Този урок ще покаже как да получите въвеждане от потребител с полето за въвеждане на VBA.

The VBA поле за въвеждане ни позволява да подканим потребителя да въведе информация. След това информацията може да се използва в нашия VBA код или в работен лист на Excel.

Кутията за въвеждане на VBA с променлива

Можем да декларираме променлива в нашия VBA код, който след това съхранява информацията, която е въведена в полето за въвеждане. След това можем да използваме тази променлива в нашия код.

В зависимост от типа информация, която искаме да бъде върната от полето за въвеждане, можем да декларираме конкретен тип променлива или да върне текст (низ или вариантна променлива) или да върне число (цяло число, дълга, двойна или единична променлива).

Низовата променлива с поле за въвеждане

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

123 Dim strInput като StringstrInput = InputBox ("Това е моят InputBox", "MyInputTitle", "Въведете вашия въведен текст ТУК")

Забележете първо, че декларираме променлива. На тази променлива ще бъде присвоена стойността, която потребителят въвежда. Използвахме променлив тип String, за да може полето за въвеждане да приеме текстови низове (което включва всички буквено -цифрови знаци).

Числовата променлива с поле за въвеждане

Ако декларирате числова променлива, ще трябва да въведете число само в полето за въвеждане.

12 Dim iInput As IntegeriInput = InputBox ("Моля, въведете номер", "Създаване на номер на фактура", 1)

Първо декларираме числовата променлива като цяло число. След това можем също да поставим стойност по подразбиране 1 в полето за въвеждане.

Ако трябваше да въведем низ вместо число и след това щракнете върху OK, ще получим грешка при несъответствие на типа, тъй като променлива с числа не приема низ.

Вземете въвеждане от потребител

Ето още един пример, използващ най -популярните функции на InputBox.

Следният код прави три неща:

1. Подава подкана за въвеждане с InputBox и го присвоява на променлива

2. Проверява входа, в противен случай излиза от подкана

3. Връща въведеното в полето за съобщение

12345678910111213 Публичен под MyInputBox ()Dim MyInput As StringMyInput = InputBox ("Това е моят InputBox", "MyInputTitle", "Въведете вашия въведен текст ТУК")Ако MyInput = "Въведете вашия въведен текст ТУК" Или MyInput = "" ТогаваИзход от SubКрай АкоMsgBox "Текстът от MyInputBox е" & MyInputEnd Sub

Връщане на въведените данни в Excel лист

Можете да върнете въведеното от вас в поле за въвеждане в конкретна клетка във вашия лист на Excel.

1 Диапазон ("P1") = InputBox ("Моля, въведете вашето име", "Въведете име", "Въведете име ТУК")

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

12345678910 Sub EnterNumber ()На грешка възобновяване следващоDim dblAmount As DoubledblAmount = InputBox ("Моля, въведете необходимата сума", "Въведете сума")Ако dblAmount 0 ТогаваДиапазон ("A1") = dblAmountИначеMsgBox "Не сте въвели номер!"Край АкоEnd Sub

В горния пример се изисква да въведем число. Ако въведем число, тогава променливата dblAmount ще постави номера в листа на Excel в клетка A1. Ако обаче не въведем номер, тогава полето със съобщение ще ни каже, че не сме въвели номер и нищо няма да бъде поставено в клетка A1.

Използване на VBA InputBox в Access VBA

Кутията за въвеждане на VBA работи точно по същия начин в Access, както в Excel, когато връща потребителските данни под формата на поле за съобщение.

Ако обаче искате да върнете въведеното от потребителя в базата данни, ще трябва да използвате обекта Recordset вместо обекта Range, както се използва в Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs като база данниDim rst As RecordsetЗадайте dbs = CurrentDbЗадайте rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)С първи.Добави нов! InvNo = InputBox ("Моля, въведете номера на фактурата", "ПОСТАНОВКА НА НОВИ ФАКТУРИ", 1).АктуализиранеКрай спърво ЗатвориЗадайте rst = НищоЗадайте dbs = НищоEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave