Application - InputBox Method
Application - InputBox Method
inputbox
In this article
Syntax
Parameters
Return value
Remarks
Example
Displays a dialog box for user input. Returns the information entered in the dialog box.
Syntax
expression.InputBox (Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
Parameters
Name Required/Optional Data Description
type
Title Optional Variant The title for the input box. If this
argument is omitted, the default title
is Input.
1 of 5 10/8/2020, 4:42 PM
Application.InputBox method (Excel) | Microsoft Docs https://docs.microsoft.com/en-us/office/vba/api/excel.application.inputbox
HelpFile Optional Variant The name of the Help file for this
input box. If the HelpFile and
HelpContextID arguments are present,
a Help button will appear in the dialog
box.
Return value
Variant
Remarks
The following table lists the values that can be passed in the Type argument. Can be one
or a sum of the values. For example, for an input box that can accept both text and
numbers, set Type to 1 + 2.
2 of 5 10/8/2020, 4:42 PM
Application.InputBox method (Excel) | Microsoft Docs https://docs.microsoft.com/en-us/office/vba/api/excel.application.inputbox
Value Description
0 A formula
1 A number
2 Text (a string)
64 An array of values
Use InputBox to display a simple dialog box so that you can enter information to be
used in a macro. The dialog box has an OK button and a Cancel button. If you select the
OK button, InputBox returns the value entered in the dialog box. If you select the
Cancel button, InputBox returns False.
If Type is 0, InputBox returns the formula in the form of text; for example, =2*PI()/360 .
If there are any references in the formula, they are returned as A1-style references. (Use
ConvertFormula to convert between reference styles.)
If Type is 8, InputBox returns a Range object. You must use the Set statement to assign
the result to a Range object, as shown in the following example.
VB Copy
If you do not use the Set statement, the variable is set to the value in the range, rather
than the Range object itself.
If you use the InputBox method to ask the user for a formula, you must use the
FormulaLocal property to assign the formula to a Range object. The input formula will
be in the user's language.
The InputBox method differs from the InputBox function in that it allows selective
3 of 5 10/8/2020, 4:42 PM
Application.InputBox method (Excel) | Microsoft Docs https://docs.microsoft.com/en-us/office/vba/api/excel.application.inputbox
validation of the user's input, and it can be used with Excel objects, error values, and
formulas. Notice that Application.InputBox calls the InputBox method; InputBox with
no object qualifier calls the InputBox function.
Example
This example prompts the user for a number.
VB Copy
This example prompts the user to select a cell on Sheet1. The example uses the Type
argument to ensure that the return value is a valid cell reference (a Range object).
VB Copy
Worksheets("Sheet1").Activate
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
This example uses an InputBox for the user to select a range to pass to the user-defined
function MyFunction, which multiplies three values in a range together and returns the
result.
VB Copy
Sub Cbm_Value_Select()
'Set up the variables.
Dim rng As Range
'Use the InputBox dialog to set the range for MyFunction, with some sim-
ple error handling.
Set rng = Application.InputBox("Range:", Type:=8)
If rng.Cells.Count <> 3 Then
MsgBox "Length, width and height are needed -" & _
vbLf & "please select three cells!"
Exit Sub
End If
4 of 5 10/8/2020, 4:42 PM
Application.InputBox method (Excel) | Microsoft Docs https://docs.microsoft.com/en-us/office/vba/api/excel.application.inputbox
Yes No
5 of 5 10/8/2020, 4:42 PM