Sub test()
vRetVal = Application.InputBox("Укажите любой текст:", "Запрос данных", "", Type:=2)
End Sub
Sub FnInputBox()
'http://www.excel-vba.ru/chto-umeet-excel/rabota-s-dialogami/
'MyValue = InputBox(Message, Title, Default, 200, 100)
Dim vRetVal 'для получения выбранного значения
'запрос формулы - Type:=0
'возвращает либо произвольный текст, указанный в поле или ссылку на указанную ячейку в стиле R1C1
vRetVal = Application.InputBox("Укажите формулу:", "Запрос данных", "", Type:=0)
'запрос числа - Type:=1
'возвращает число. Не даст ввести текст, выдав сообщение об ошибке
vRetVal = Application.InputBox("Укажите любое число:", "Запрос данных", "", Type:=1)
'запрос текст - Type:=2
'возвращает указанный текст. При указании числа оно будет в виде текста: 1="1"
vRetVal = Application.InputBox("Укажите любой текст:", "Запрос данных", "", Type:=2)
'запрос логического значения True или False - Type:=4
'значение указывает в текущей локализации офиса
'для русской это ИСТИНА или ЛОЖЬ
'так же можно указать универсальные числовые константы - 1 или 0. 1 - ИСТИНА; 0 - ЛОЖЬ
'Не даст ввести иные значения, выдав сообщение об ошибке
'возвращает указанное логическое значение в английской локализации
vRetVal = Application.InputBox("Укажите ИСТИНА или ЛОЖЬ:", "Запрос данных", "", Type:=4)
'запрос диапазона - Type:=8
'возвращает ссылку на диапазон
'При получении такого значения обязательно следует использовать оператор Set
'В противном случае вернет значение массива(Array), содержащего значения указанных ячеек
'при указании через Set и нажатии Отмена будет ошибка VBA
Set vRetVal = Application.InputBox("Укажите диапазон для очистки ячеек:", "Запрос данных", "", Type:=8)
vRetVal = Application.InputBox("Укажите диапазон для очистки ячеек:", "Запрос данных", "", Type:=8)
' запрос значения ошибки #Н/Д - Type:=16
'всегда возвращает значение ошибки #Н/Д независимо от введенного значения
vRetVal = Application.InputBox("Укажите диапазон для очистки ячеек:", "Запрос данных", "", Type:=16)
'запрос диапазона ячеек для создания массива - Type:=64
'возвращает массив ячеек с границами начала от 1(Option Base 1)
'если указать всего одну ячейку vRetVal будет содержать значение этой ячейки, а не массив
vRetVal = Application.InputBox("Укажите диапазон для создания массива:", "Запрос данных", "", Type:=64)
End Sub