Решите, какая InputBox должна вернуться с помощью VBA в Microsoft Excel
Если вы хотите получить какую-либо информацию от пользователя, вы можете использовать функцию INPUTBOX.
Эта функция отображает диалоговое окно, которое позволяет пользователю заполнять что угодно и возвращает содержимое в виде строки.
Иногда вы хотите решить, что пользователь должен заполнить, вместо того, чтобы принимать какую-либо информацию. Это когда вы используете INPUTBOX-метод:
Sub DecideUserInput() Dim bText As String, bNumber As Integer ' here is the INPUTBOX-function : bText = InputBox("Insert in a text", "This accepts any input") ' here is the INPUTBOX-method : bNumber = Application.InputBox("Insert a number", "This accepts numbers only", 1) MsgBox "You have inserted :" & Chr(13) & _ bText & Chr(13) & bNumber, , "Result from INPUT-boxes" End Sub
У метода INPUTBOX есть третий аргумент, Type, который определяет, что пользователю разрешено вставлять в диалог INPUTBOX.
Тип может быть одним из следующих:
Тип:
Accepted input: 0 A formula 1 A number 2 Text 4 A logical value (True or False) 8 A cell reference, e.g. a Range-object 16 An error value, e.g. #N/A 64 An array of values
Когда мы запустим макрос, мы увидим следующие поля ввода:
Таким образом, мы можем получить результат через окно сообщения.