Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Método Application.InputBox (Excel)

Muestra un cuadro de diálogo para la entrada de usuario. Devuelve la información especificada en el cuadro de diálogo.

expresión .InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

expresión Variable que representa un objeto Application.

Sintaxis

Nombre

Obligatorio/opcional

Tipo de datos

Descripción

Prompt

Obligatorio

String

Mensaje que se debe 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).

Title

Opcional

Variant

Título del cuadro de entrada. Si este argumento se omite, el título predeterminado es "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 quedará vacío. Este valor puede ser un objeto Range.

Left

Opcional

Variant

Especifica una posición X del cuadro de diálogo en relación con la esquina superior izquierda de la pantalla, en puntos.

Top

Opcional

Variant

Especifica la posición Y del cuadro de diálogo en relación con la esquina superior izquierda de la pantalla, en puntos.

HelpFile

Opcional

Variant

El nombre del archivo de ayuda de este cuadro de entrada. Si los argumentos HelpFile y HelpContextID están presentes, aparecerá un botón Ayuda en el cuadro de diálogo.

HelpContextID

Opcional

Variant

Número de identificador de contexto del tema de ayuda en HelpFile.

Type

Opcional

Variant

Especifica el tipo de datos devueltos. Si este argumento se omite, el cuadro de diálogo devuelve texto.

Valor devuelto

Variant

En la tabla siguiente se enumeran los valores que se pueden pasar en el argumento Type. Puede ser un valor o una suma de valores. Por ejemplo, para un cuadro de texto que puede aceptar texto y números, establezca Type en 1 + 2.

Valor

Significado

0

Una fórmula

1

Un número

2

Texto (una cadena)

4

Un valor lógico (True o False)

8

Una referencia de celda, tal como un objeto Range

16

Un valor de error, tal como #N/D

64

Una matriz de valores

Use InputBox para mostrar un cuadro de diálogo sencillo, de modo que pueda especificar la información que se debe usar en una macro. El cuadro de diálogo tiene un botón Aceptar y un botón Cancelar. Si elige el botón Aceptar, InputBox devuelve el valor especificado en el cuadro de diálogo. Si hace clic en el botón Cancelar, InputBox devuelve False.

Si Type 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-style. (Use ConvertFormula para convertir entre estilos de referencia).

Si Type 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 el sentido que permite la validación selectiva de la entrada del usuario y se puede usar con objetos, valores de error y fórmulas de Microsoft Excel. Observe que Application.InputBox invoca el método InputBox; InputBox sin calificador de objeto invoca la función InputBox.

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 Type para garantizar 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)

Código de ejemplo proporcionado por: Holy Macro! Books, Holy Macro! It’s 2,500 Excel VBA Examples | Acerca del colaborador

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

Holy Macro! Books publica libros de entretenimiento para personas que usan Microsoft Office. Puede consultar el catálogo completo en MrExcel.com.

Mostrar:
© 2015 Microsoft