image

En Excel, tenemos varias formas de obtener información. Podemos obtener entradas usando argumentos de función, usar celdas y rangos de Excel como áreas de entrada y luego recuperar valores desde allí. También puede utilizar formularios de usuario para obtener información de los usuarios. Pero Excel proporciona una forma más de obtener información de los usuarios.

Se llaman InputBox. Un InputBox en VBA es una especie de formulario de usuario prediseñado. Puede utilizar un cuadro de entrada para obtener varios tipos de entrada. Pero una entrada solo puede obtener un tipo de entrada a la vez. Excel tiene dos tipos de Inputboxes. Uno es InputBox simple y el otro es Application InputBox. El cuadro de entrada tiene varios argumentos para tratar diferentes tipos de entrada. Conoceremos algunos de ellos en este artículo.

Cuadro de entrada de VBA simple Este cuadro de entrada se puede usar directamente en VBA porque es una función.

Esta función solicita un formulario de usuario para que ingrese un valor. La sintaxis de la función InputBox es:

InputBox(prompt, [Title], [Default], [Xpos], [YPos], [HelpFile],

[Context])

prompt: es el único argumento requerido. Es una expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud máxima del mensaje es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si el mensaje consta de más de una línea, puede separar las líneas utilizando un carácter de retorno de carro (Chr (13)), un carácter de salto de línea (Chr (10)) o una combinación de caracteres de retorno de carro-salto de línea Chr (13) & (Chr (10 entre cada línea.

[título]: es opcional. Es una expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite el título, se coloca el nombre de la aplicación en la barra de título. Si está usando Excel, mostrará Microsoft Excel.

[predeterminado]: * También es opcional. Es una expresión de cadena que se muestra en el cuadro de texto como la respuesta predeterminada si no hay otra entrada se proporciona.

Si omite el valor predeterminado, el cuadro de texto se muestra vacío.

[xpos]: * Expresión numérica que especifica, en twips, la distancia horizontal del borde izquierdo del cuadro de diálogo desde el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente.

[ypos]: * Expresión numérica que especifica, en twips, la vertical distancia del borde superior del cuadro de diálogo desde la parte superior de la pantalla.

Si se omite ypos, el cuadro de diálogo se coloca verticalmente aproximadamente a un tercio del camino hacia abajo en la pantalla.

[archivo de ayuda]: expresión de cadena que identifica el archivo de ayuda que se utilizará para proporcionar ayuda contextual para el cuadro de diálogo. Si se proporciona un archivo de ayuda, también se debe proporcionar contexto.

[contexto] *: Expresión numérica que es el número de contexto de la Ayuda asignado al tema de la Ayuda correspondiente por el autor de la Ayuda. Si se proporciona contexto, también se debe proporcionar un archivo de ayuda.

Basta de teoría. Veamos algunos ejemplos para entender cómo usar esta función de cuadro de entrada.

Ejemplo 1: Obtener entrada para saludar al usuario Digamos que quiero que mi sub salude al usuario. Así que preguntaré por el nombre del usuario y lo saludaré como «Hola Nombre de usuario». Para eso usaré este código:

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.")

MsgBox ("Hello " & user_name & "!")

End Sub

Cuando ejecute el código anterior en VBA, aparecerá un formulario de usuario con el encabezado «Ingrese su nombre». con un cuadro de texto a continuación.

Puede ver que la ventana se llama «Microsoft Excel» y el cuadro de texto está vacío. Porque no hemos usado esos argumentos para establecer su valor.

image

Ejemplo 2: Establecer el título del cuadro de entrada como Saludar al usuario y establecer el valor predeterminado como Usuario En este ejemplo, configuraremos el título como Saludar al usuario para que vba no pueda mostrar el Nombre de la aplicación y estableceremos el valor predeterminado como Usuario para que el el cuadro de texto se muestra vacío.

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.", "Greet User", "Uesr")

MsgBox ("Hello " & user_name & "!")

End Sub

Cuando ejecuta el código anterior, este es el resultado que obtendrá.

image

Los otros argumentos no se utilizan mucho. Básicamente se utilizan para establecer la ubicación del formulario de usuario en los bordes de Excel. Los dos últimos argumentos se utilizan para proporcionar información contextual al usuario.

Entonces sí, ahora puede usar inputbox para obtener información de los usuarios en Excel usando la función Inputbox. He explicado Application.InputBox aquí.

Por favor, mira esto también. Es más potente que esta función inputbox.

Espero haber sido lo suficientemente explicativo y haber sido útil para ti. Si tiene alguna pregunta sobre este artículo o sobre cualquier otro tema de VBA, hágamelo saber en la sección de comentarios a continuación.

Artículos relacionados:

link: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [Empezando con Excel VBA UserForms] | * Explicaré cómo crear un formulario en Excel, cómo usar Caja de herramientas de VBA, cómo manejar las entradas del usuario y finalmente cómo almacenar las entradas del usuario. Repasaremos estos temas usando un ejemplo y una guía paso a paso.

link: / general-topics-in-vba-vba-variables-in-excel [Variables VBA en Excel] | * VBA significa Visual Basic para Aplicaciones.

Es un lenguaje de programación de Microsoft. Se utiliza con aplicaciones de Microsoft Office como MSExcel, MS-Word y MS-Access, mientras que las variables de VBA son palabras clave específicas.

link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope] | * En todos los lenguajes de programación, tenemos especificadores de acceso a variables que definen desde dónde se puede acceder a una variable definida. Excel VBA no es una excepción. VBA también tiene especificadores de alcance.

link: / celdas-rangos-filas-y-columnas-en-vba-cuál-es-la-diferencia-entre-byref-y-byval-argumentos-vba-entrevista-pregunta [ByRef y ByVal Arguments] | Cuando un argumento se pasa como un argumento ByRef a una función o sub diferente, se envía la referencia de la variable real. Cualquier cambio realizado en la copia de la variable se reflejará en el argumento original.

link: / files-workbook-and-worksheets-in-vba-delete-sheets-without-confirm-prompts-using-vba-in-microsoft-excel [Eliminar hojas sin mensajes de confirmación usando VBA en Microsoft Excel] | Dado que está eliminando hojas usando VBA, sabe lo que está haciendo.

Le gustaría decirle a Excel que no muestre esta advertencia y elimine la maldita hoja.

link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Add And Save New Workbook Using VBA In Microsoft Excel 2016] | En este código, primero creamos una referencia a un objeto de libro de trabajo. Y luego lo inicializamos con un nuevo objeto de libro de trabajo. El beneficio de este enfoque es que puede realizar operaciones en este nuevo libro de trabajo fácilmente. Como guardar, cerrar, eliminar, etc `link: / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Display A Message On La barra de estado de Excel VBA *] `| La barra de estado en Excel se puede utilizar como monitor de código. Cuando su código VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea que la pantalla parpadea.

link: / general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Desactivar mensajes de advertencia usando VBA en Microsoft Excel 2016] | * Este código no solo deshabilita VBA alertas, pero también aumenta la eficiencia del tiempo del código. Veamos cómo.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-su-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos le permitirán trabajar aún más rápido en Excel.

link: / fórmulas-y-funciones-introducción-de-vlookup-function [La función VLOOKUP en Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas. enlace: / tips-countif-in-microsoft-excel [COUNTIF en Excel 2016] | Cuente valores con condiciones usando esta asombrosa función. No necesitas filtrar tus datos para contar valores específicos.

La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo usar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.