Función InputBox en Excel VBA

Input Box es una de las funciones más utilizadas en VBA Macro. El cuadro de diálogo que apareció solicita la entrada del usuario y devuelve una constante/código/número/texto. Por ejemplo, si desea crear un formulario de inicio de sesión en VBA, necesitará una función de cuadro de entrada. Aprendamos cómo crear un cuadro de entrada en VBA. 

Cuadro de entrada

Input Box es un cuadro de diálogo que ayuda a los usuarios a tomar valores y realizar cálculos posteriores de acuerdo con el valor ingresado. El cuadro de entrada es similar al cuadro de mensaje, pero el cuadro de mensaje se usa para mostrar los datos mientras que el cuadro de entrada se usa para ingresar los datos. De forma predeterminada, un cuadro de mensaje muestra solo el botón Aceptar en su cuadro de diálogo, pero el cuadro de entrada muestra los botones Aceptar y Cancelar en su cuadro de diálogo. Puede elegir el tipo de devolución de los datos a ingresar. El análisis de datos automatizado incluye ingresar y mostrar los datos, lo que se puede lograr si usamos el cuadro de entrada y el cuadro de mensaje simultáneamente. 

Sintaxis: InputBox(argumentos)

Argumentos temporales y permanentes en el cuadro de entrada

Los argumentos del cuadro de entrada ayudan a personalizar su cuadro de entrada cambiando el título, arreglando la posición, agregando botones de ayuda, etc. En total, se pueden pasar ocho (8) argumentos en el cuadro de entrada. De los cuales uno (1) es el argumento permanente, y los siete restantes (7) son los argumentos temporales. Aquí está presente una lista de todos los argumentos utilizados por el cuadro de Entrada.  

Argumento Temporal Argumento Permanente
Inmediato Título
  Defecto
  Posición X
  Posición Y
  Ayudante
  ID de contexto
  Tipo de datos

VBA es lo suficientemente inteligente como para brindarle una lista de argumentos temporales y permanentes. Los siguientes son los pasos: 

Paso 1: abre tu editor de VBA. Cree un procedimiento llamado geeks() . Use la función InputBox , tan pronto como comience el paréntesis para la función, aparecerá una lista automáticamente en su pantalla. 

Creating-procedure

 

Paso 2: La lista indica el orden de los argumentos. Los argumentos escritos en negrita y sin paréntesis cuadrado[ ] son ​​argumentos permanentes , mientras que los argumentos escritos sin paréntesis cuadrado[ ] son ​​argumentos  temporales .

Temporary-argument

 

Argumentos en el cuadro de entrada

Ahora, vamos a entender cada argumento en detalle, con ejemplos. 

Argumento 1: Aviso 

Prompt es la definición del cuadro de entrada, según el cual el usuario ingresa los datos. Prompt es un argumento necesario. Si no se proporciona este argumento, es posible que VBA muestre un error. El indicador devuelve una string. Por ejemplo, muestre el mensaje «Ingrese su nombre» en el cuadro de entrada. 

Los siguientes son los pasos

Paso 1: Declare una variable para almacenar los datos de entrada en el cuadro de entrada. Por ejemplo, nombre . Utilice la función InputBox . Escriba InputBox («Ingrese su nombre») y guárdelo en el nombre de la variable. 

Declaring-a-variable

 

Paso 2: ejecuta tu macro. Puede ver que aparece el cuadro de entrada en la pantalla, con el mensaje «Ingrese su nombre»

Running-macro

 

Argumento 2: Título

El segundo argumento proporcionado al cuadro de entrada es el título . El título es el encabezado de un cuadro de entrada. Es un argumento temporal. El tipo de datos predeterminado de un título es variante . Si no se menciona un título personalizado, el título predeterminado es «Microsoft Excel» . Por ejemplo, muestre «geeks for geeks» como título de su cuadro de entrada. 

Los siguientes son los pasos 

Paso 1: abre tu editor de VBA. Cree un subprocedimiento llamado geeks() . Utilice la función InputBox. El argumento 1 de la función del cuadro de entrada es el texto del mensaje; es lo mismo que se hizo en los ejemplos anteriores. El segundo argumento es el título de su cuadro de entrada, es decir, «geeks para geeks» . Almacene la función de cuadro de entrada en la variable Nombre .

Storing-input-box-function-in-variable

 

Paso 2: ejecuta tu macro. Se muestra un cuadro de entrada en la pantalla. Puede ver que el título del cuadro de entrada es «geeks for geeks»

Running-macro

 

Argumento 3: Predeterminado

El tercer argumento proporcionado al cuadro de entrada es el «predeterminado» . El valor «predeterminado» es el valor inicial del cuadro de texto. Puede haber situaciones en las que un usuario no ingrese ningún dato. En ese momento, la variable utilizada para almacenar los datos permanece vacía. Esto puede causar errores en el código, para eliminar este punto de interrupción podemos agregar un valor predeterminado en el cuadro de texto personalizado. Es un argumento temporal. El tipo de datos predeterminado de «predeterminado:» es variante . Si no se menciona un «predeterminado» personalizado , entonces el cuadro de texto no tiene valor. Por ejemplo, muestre «geeks» como el valor predeterminado de su cuadro de texto. 

Empty-text-box-created

 

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Cree un subprocedimiento llamado geeks(). Los dos primeros argumentos del cuadro de entrada son los mismos que en el ejemplo anterior. El tercer argumento es el valor del cuadro de texto personalizado, es decir, «geeks» . Almacene la función de cuadro de entrada en la variable Nombre .

Adding-default-fault

 

Paso 2:  ejecuta tu macro. Se muestra un cuadro de entrada en la pantalla. Puede ver que el valor predeterminado del cuadro de texto es «geeks».

Running-macro

 

Argumento 4 y Argumento 5: XPos y YPos  

El cuarto argumento es X-Position(Xpos) y el quinto argumento es Y-Position(YPos) . Ambos son los argumentos posicionales proporcionados para establecer la ubicación de su cuadro de entrada con respecto a la pantalla de inicio de Excel. Son argumentos temporales. El tipo de datos predeterminado es variante . Por ejemplo, XPos como 2000 y YPos como 10000 en el cuadro de entrada. 

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Cree un nombre de subprocedimiento geeks() . Los tres primeros argumentos del cuadro de entrada son los mismos que en el ejemplo anterior. El cuarto argumento es un valor numérico de 2000 y el quinto argumento es 10000 . Almacene la función de cuadro de entrada en la variable Nombre.

Storing-x-and-y-positions

 

Paso 2: ejecuta tu macro. Puede analizar la posición del cuadro de entrada, se ha ido al final de la hoja de trabajo. Las posiciones X e Y se pueden cambiar en consecuencia. 

Running-macro

 

Argumento 6 y Argumento 76: HelpFile y HelpContext 

El autor proporciona un archivo de ayuda para resolver errores o para guiar cómo llenar el cuadro de entrada. Se llama a un HelpFile cuando un usuario hace clic en el botón de ayuda en el cuadro de entrada. Siempre que proporcione un archivo de ayuda, también debe mencionar el ID de contexto, que especifica el número del tema de ayuda en el archivo de ayuda. Si no se especifica ningún archivo de ayuda, se muestra un archivo básico visual. Rara vez usará HelpFile y HelpContextId en el cuadro de entrada. Tanto HelpFile como Context son argumentos opcionales y tienen tipos de datos como variantes. El archivo utilizado por Context es el .hlpexpediente. Es posible que no obtenga un ejemplo adecuado en el archivo de ayuda y el contexto, ya que generalmente los proporciona el autor o la propia comunidad de VBA. 

Argumento 8: tipo de datos

El octavo argumento de la función de cuadro de entrada es un tipo de datos . Es un argumento temporal y no está presente en la función de cuadro de entrada predeterminada . Sí, aquí está el truco, la función de cuadro de entrada de VBA no proporciona un argumento de tipo, pero una mejora específica de Excel proporciona la función Application.InputBox , que tiene un octavo (octavo) tipo de datos llamado tipo . El argumento de tipo es muy útil para limitar el acceso del usuario a los datos. El tipo de datos se menciona en forma de número. Por ejemplo, si desea ingresar su edad en el cuadro de entrada, nunca necesitará texto , por lo que podría estar limitado por el tipo de argumento. 

Seven-arguments-shown

 

Eight-arguments-shown

 

Aquí está la lista proporcionada por Microsoft para referirse al valor numérico del tipo de datos: 

valor de tipo de datos Descripción
0 Fórmula
1 Número 
2 Texto
4 booleano
8 Objeto de rango
dieciséis error(#N/A)
64 Formación

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Cree un subprocedimiento llamado geeks(). Utilice la función Application.InputBox() para acceder al argumento de tipo. Almacene el resultado en la variable edad. Imprime la variable edad en la ventana inmediata. Como ha pasado el tipo de datos como 1, solo puede ingresar números en el cuadro de entrada. Ejecute su Macro. 

Running-macro

 

Paso 2: ahora, si intenta ingresar un texto en el cuadro de entrada, mostrará un error. 

Entering-text-show-error

 

Paso 3: aparece un nuevo cuadro de diálogo, llamado Microsoft Excel , que especifica que no puede ingresar texto en el cuadro de entrada. 

Text-not-valid-shown

 

Paso 4: ahora, si ingresa un número, por ejemplo, 19 , haga clic en Aceptar . No mostrará ningún error. 

Number-valid

 

Paso 5: Se imprime el número 19 en la ventana inmediata. 

19-printed

 

Saltarse los argumentos 

Puede haber una probabilidad de que no desee que se agreguen todos los argumentos a su función de cuadro de entrada. Por ejemplo, generalmente no necesita archivos de ayuda ni argumentos de contexto de ayuda, pero desea agregar un argumento de tipo de datos en el cuadro de entrada. Este problema se puede resolver omitiendo los argumentos. Hay dos formas más utilizadas para omitir argumentos en una función. 

Método 1: use (coma) para omitir argumentos

La coma (,) se usa para omitir los argumentos en la función. Por ejemplo, desea agregar el mensaje «Ingrese su nombre» y el valor predeterminado «Arushi» , pero desea omitir el título del argumento temporal . 

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Escriba Application.InputBox («Ingrese su nombre», «Arushi») , una coma vacía (,) omitirá el título del segundo argumento. 

Second-argument-title-skipped

 

Paso 2: ejecuta tu macro. Puede ver que el título predeterminado aparece en el cuadro de entrada, es decir, «Entrada» . Ha saltado con éxito el argumento del título. 

Default-title-appears

 

Método 2: especificar el nombre del argumento

Puede mencionar los argumentos específicos del nombre. Por ejemplo, desea agregar el mensaje «Ingrese su nombre» y el valor predeterminado «Arushi» , pero desea omitir el título del argumento temporal . 

Los siguientes son los pasos

Paso 1: abre tu editor de VBA. Escriba Application.InputBox(Prompt := “Ingrese su nombre”, Predeterminado := “Arushi”) , usando argument_name := especifica el argumento que se agregará en el cuadro de entrada. 

Writing-application-input-box

 

Paso 2: ejecuta tu macro. El mensaje  «Ingrese su nombre» , con el valor predeterminado «Arushi» , se muestra en el cuadro de entrada. 

Arushi-name-displayed

 

Publicación traducida automáticamente

Artículo escrito por gautamgoel962 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *