Método Application.InputBox (Excel)
Muestra un cuadro de diálogo para la entrada del usuario. Devuelve la información introducida en el cuadro de diálogo.
Sintaxis
expresión.InputBox (Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
expresión Variable que representa un objeto Application.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Prompt | Necesario | String | Mensaje que se mostrará en el cuadro de diálogo. Puede ser una cadena, un número, una fecha o un valor booleano (Microsoft Excel convierte automáticamente el valor en String antes de que se muestre). La longitud máxima es de 255 caracteres, en caso contrario, no hay indicación, y el método de la aplicación devolverá el error 2015 inmediatamente. |
Título | Opcional | Variant | Título para el cuadro de entrada. Si este argumento se omite, el título predeterminado será "Entrada". |
Default | Opcional | Variant | Especifica un valor que aparecerá en el cuadro de texto cuando se muestre inicialmente el cuadro de diálogo. Si este argumento se omite, el cuadro de texto permanecerá vacío. Este valor puede ser un objeto Range. |
Izquierda | Opcional | Variant | Especifica la posición x del cuadro de diálogo con respecto a la esquina superior izquierda de la pantalla, en puntos. |
Arriba | Opcional | Variant | Especifica la posición y del cuadro de diálogo con respecto a la esquina superior izquierda de la pantalla, en puntos. |
ArchivoDeAyuda | Opcional | Variant | Nombre del archivo de Ayuda para este cuadro de entrada. Si los argumentos ArchivoDeAyuda e IDContextoDeAyuda están presentes, aparecerá un botón Ayuda en el cuadro de diálogo. |
IDContextoDeAyuda | Opcional | Variant | Número de identificación de contexto del tema de Ayuda en HelpFile. |
Tipo | Opcional | Variant | Especifica el tipo de datos que se devuelve. Si se omite este argumento, el cuadro de diálogo devolverá texto. |
Valor devuelto
Variant
Comentarios
En la tabla siguiente se enumeran los valores que se pueden pasar en el argumento Type. Puede ser uno de los valores siguientes o bien una suma de ellos. Por ejemplo, para que un cuadro de entrada acepte texto y números, establezca Tipo como 1 + 2.
Valor | Descripción |
---|---|
0 | Una fórmula |
1 | Un número |
2 | Texto (una cadena) |
4 | Un valor lógico (True o False) |
8 | Una referencia a una celda, como un objeto Range |
16 | Un valor de error, como por ejemplo #N/A |
64 | Una matriz de valores |
Use InputBox para mostrar un cuadro de diálogo sencillo que permite escribir información para usarla en una macro. El cuadro de diálogo tiene un botón Aceptar y un botón Cancelar. Si hace clic en el botón Aceptar, InputBox devolverá el valor escrito en el cuadro de diálogo. Si hace clic en el botón Cancelar, InputBox devolverá False.
Si Tipo es 0, InputBox devuelve la fórmula en forma de texto, por ejemplo, =2*PI()/360
. Si existen referencias en la fórmula, estas se devuelven como referencias de estilo A1. (Use ConvertFormula para convertir entre estilos de referencia).
Si Tipo es 8, InputBox devuelve un objeto Range. Debe usar la instrucción Set para asignar el resultado a un objeto Range, tal como se muestra en el ejemplo siguiente.
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
Si no usa la instrucción Set, la variable se establece en el valor del rango, en lugar del objeto Range en sí.
Si usa el método InputBox para solicitar la fórmula al usuario, debe usar la propiedad FormulaLocal para asignar la fórmula a un objeto Range. La fórmula de entrada estará en el idioma del usuario.
El método InputBox difiere de la función InputBox en que permite la validación selectiva de la entrada del usuario, y se puede usar con objetos, valores de error y fórmulas de Excel. Observe que Application.InputBox
llama al método InputBox. InputBox
sin calificador de objeto llama a la función InputBox.
Ejemplo
En este ejemplo se solicita un número al usuario.
myNum = Application.InputBox("Enter a number")
En este ejemplo se solicita al usuario que seleccione una celda de Sheet1. Se usa el argumento Tipo para asegurar que el valor devuelto es una referencia de celda válida (un objeto Range).
Worksheets("Sheet1").Activate
Set myCell = Application.InputBox( _
prompt:="Select a cell", Type:=8)
En este ejemplo, se usa InputBox para que el usuario seleccione un rango que se pasará a la función MyFunction definida por el usuario, que multiplica tres valores de un rango y devuelve el resultado.
Sub Cbm_Value_Select()
'Set up the variables.
Dim rng As Range
'Use the InputBox dialog to set the range for MyFunction, with some simple 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
'Call MyFunction by value using the active cell.
ActiveCell.Value = MyFunction(rng)
End Sub
Function MyFunction(rng As Range) As Double
MyFunction = rng(1) * rng(2) * rng(3)
End Function
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.