InputBox de VBA

InputBox de Excel VBA

VBA InputBox es una función incorporada que se utiliza para obtener un valor del usuario, esta función tiene dos argumentos principales en los que uno es el encabezado del cuadro de entrada y otro es la pregunta del cuadro de entrada, la función del cuadro de entrada puede almacenar solo los tipos de datos de entrada que puede contener la variable.

A menudo, en Excel, utilizamos los datos que ya están en la hoja de Excel. A veces también necesitamos algún tipo de datos de entrada de los usuarios. Especialmente en VBA, a menudo se requiere la entrada del usuario.

Al usar InputBox podemos obtener los datos del usuario y usarlos para nuestro propósito. Un InputBox le pedirá al usuario que ingrese el valor mostrando el InputBox.

Sintaxis

  • Aviso: no es más que el mensaje al usuario a través de un cuadro de entrada.
  • Título: ¿Cuál es el título del cuadro de entrada?
  • Predeterminado: ¿Cuál es el valor predeterminado del cuadro de entrada? Este valor aparece en el área de escritura del cuadro de entrada.

Estos tres parámetros son lo suficientemente buenos en Excel, ignore los otros 4 parámetros opcionales. Para comprender esta sintaxis, mire la siguiente captura de pantalla.

¿Cómo crear InputBox en VBA?

Ok, vayamos directamente a la practicidad. Siga los pasos a continuación para crear su primer cuadro de entrada.

Puede descargar esta plantilla de Excel InputBox de VBA aquí - Plantilla de Excel InputBox de VBA

Paso 1: Vaya a VBE (Editor de Visual Basic) e inserte un nuevo módulo.

Paso 2: haga doble clic en el módulo insertado y cree un nombre de macro.

Paso 3: Comience a escribir la palabra "InputBox" y verá opciones relacionadas.

Paso 4: Selecciona el INPUTBOX y dale espacio y verás la sintaxis del inputbox.

Paso 5: Indique el mensaje "Introduzca su nombre".

Paso 6: Escriba el título del cuadro de entrada como "Información personal".

Paso 7: escriba el valor predeterminado como "Escriba aquí"

Paso 8: hemos terminado. Ejecute este código y vea su primer cuadro de entrada.

Almacene el valor de InputBox en celdas

Ahora pasaremos por el proceso de almacenar valores en celdas. Siga los pasos siguientes.

Paso 1: declarar la variable como variante.

Código:

 Sub InputBox_Example () Dim i como variante End Sub 

Paso 2: Para esta variable, asigne el valor a través del cuadro de entrada.

Código:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Ingrese su nombre", "Información personal", "Escriba aquí") End Sub 

Nota: Una vez que el cuadro de entrada está a la derecha del signo igual, debemos ingresar los argumentos o la sintaxis entre corchetes como nuestras fórmulas regulares.

Paso 3: Ahora, cualquiera que sea el valor escrito en el cuadro de entrada, debemos almacenarlo en la celda A1. Entonces, para esto, escriba el código como Rango ("A1"). Valor = i

Código:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Ingrese su nombre", "Información personal", "Escriba aquí") Rango ("A1"). Valor = i End Sub 

Ok, hemos terminado. Ejecutemos este código ahora presionando la tecla F5 o también puede ejecutar el código manualmente como se muestra en la siguiente captura de pantalla.

Tan pronto como ejecute este código, veremos el cuadro de entrada.

Escriba el nombre y haga clic en Aceptar.

Tan pronto como escriba el nombre y haga clic en Aceptar, verá el valor del cuadro de entrada en la celda A1.

Nota: Podemos almacenar cualquier valor del cuadro de entrada si la variable se definió correctamente. En el ejemplo anterior, definí la variable como Variante que puede contener todo tipo de datos.

Por ejemplo, ahora he cambiado el tipo de variable a Fecha.

Ahora ejecute el código y escriba algo diferente a la fecha.

Haga clic en Aceptar y vea cuál es la respuesta.

Obtuvimos el valor de error como tipo no coincidente . Dado que hemos declarado el tipo de datos de la variable como FECHA, no podemos almacenar nada más que FECHA con un cuadro de entrada.

Ahora ingrese la fecha y vea qué sucede.

Tan pronto como escriba la fecha y luego haga clic en Aceptar y vea cuál es la respuesta.

Como ingresamos el valor correcto, obtuvimos el resultado en la celda.

Validación de la entrada del usuario

Usted sabe lo que realmente podemos permitir que los usuarios ingresen solo un valor específico, es decir, permitir que el usuario ingrese solo texto, solo números, solo valores lógicos, etc.

Para realizar esta tarea, necesitamos utilizar el método Application.InputBox.

Veamos la sintaxis de Application.InputBox.

 

  • Aviso: no es más que el mensaje al usuario a través de un cuadro de entrada.
  • Título: ¿Cuál es el título del cuadro de entrada?
  • Predeterminado: ¿Cuál es el valor predeterminado del cuadro de entrada? Este valor aparece en el área de escritura del cuadro de entrada.
  • Izquierda: ¿Cuál debería ser la posición x del cuadro de entrada en la ventana actual?
  • Top: What should be the y position of the inputbox in the current window?

To start this inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application put a dot (.) and type Inputbox.

Select input box and open the bracket.

As usual enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

So, accordingly, select your type. I have selected 1 as the parameter i.e. only numbers.

Now run the code and type of text value.

Click on OK and see what happens.

It says the number is not valid. So we can enter only numbers in this input box.

Things to Remember

  • We need a variable to store the value given by the input box.
  • If you are using InputBox without the Application method then you should be perfect about the variable data type.
  • Use Variant data type which can hold any kind of data type and stores.