MsgBox e InputBox Hooberth Chávez Bedoya
La función MsgBox
La función MsgBox en VBA nos permite mostrar un mensaje dentro de un cuadro de diálogo en espera de que el usuario de Excel haga clic sobre alguno de los botones provistos. Si lo deseamos podemos tomar alguna acción específica después de conocer el botón pulsado por el usuario.
MsgBox - Argumentos • Prompt (obligatorio): Es la cadena de texto que se mostrará como el mensaje dentro del cuadro de diálogo. La longitud máxima es de 1024 caracteres, pero depende del tipo de fuente utilizada. • Buttons (opcional): Expresión numérica que proviene de la suma de ciertas constantes que representan el tipo de botón e iconos a desplegar. • Title (opcional): Cadena de texto que se mostrará como el título del cuadro de diálogo. Si se omite, el título será el nombre de la aplicación.
MsgBox - Argumentos • HelpFile (opcional): Cadena de texto con la ubicación del archivo de ayuda asociado al cuadro de diálogo. Si se especifica este argumento, debe indicarse también Context. • Context (opcional): Valor numérico asignado por el autor al tema de ayuda. Si se especifica este argumento, debe indicarse también HelpFile.
Prompt (Mensaje) Ya que solamente el primer argumento de la función MsgBox es obligatorio, podemos crear un mensaje informativo para el usuario con la siguiente línea de código: 1Private Sub CommandButton1_Click() 2 MsgBox "Hola Mundo" 3End Sub
Por defecto el título es “Microsoft Excel”
Title (Título del mensaje) Es el título del cuadro de diálogo. Para poner un título personalizado será suficiente indicarlo de la siguiente manera: 1Private Sub CommandButton2_Click() 2 MsgBox "Hola Mundo", , "Mensaje especial" 3End Sub
Esta instrucción mostrará el título del cuadro de diálogo como “Mensaje especial” y ya no se mostrará el nombre de la aplicación
Buttons Este argumento nos permite configurar: • ICONO que acompaña al mensaje. • BOTONES que determinan el comportamiento del MsgBox • DEFAULT, nos permite indicar qué botón debe figurar como predeterminado. ICONO + BOTONES + DEFAULT
Buttons: Iconos Tenemos las siguientes opciones de íconos:
Buttons: Botones Tenemos las siguientes opciones de botones:
Buttons: Botones Tenemos las siguientes opciones de botones:
MsgBox - Respuesta
Botón de Ayuda Para que el botón de Ayuda funcione correctamente es necesario utilizar el cuarto y quinto argumento de la función MsgBox. En el cuarto argumento debemos indicar la ruta donde se encuentra el archivo de ayuda, que generalmente es un archivo CHM, y el quinto argumento será utilizado para indicar el número del tema que será mostrado. Este último argumento es una característica de los archivos de ayuda, y es una configuración que se hace al construir ese tipo de archivos.
Botón de Ayuda 1Private Sub CommandButton5_Click() 2 strRuta = ThisWorkbook.Path & "CHM-example.chm" 3 MsgBox "Hola Mundo", vbOKCancel + vbCritical + vbMsgBoxHelpButton, _ 4 "Mensaje especial", strRuta, 20000 5End Sub
InputBox Un Inputbox en VBA es un pop-up como el de la siguiente imagen en la que le pedimos cierta información al usuario para que la introduzca
Demostración
Ejecutar la macro • Ficha Programador y clic en el botón ‘Macros’ o Alt+F8. • En la ventana que aparece, verás el nombre de la macro que acabas de crear.
Revisando el código VBA
• Ficha Programador y clic en el botón “Visual Basic” o Alt+F11
Características de las macros Nombre de la macro
Crea un “Espacio” donde se alojará una macro
Características de las macros Encabezado. Comienza por un apóstrofe.
Características de las macros
“Cuerpo de la macro”
Entendiendo la escritura
Las características se van a aplicar a la selección actual
Entendiendo la escritura
TODAS las características de “Alineación de las celdas
Entendiendo la escritura
“BASURA” creada por la grabación
Entendiendo la escritura
El nuevo cuerpo de la macro, después de borrarle la basura
Entendiendo la escritura
Para asignar el valor a una propiedad se debe dejar un igual entre dos espacios
Ejercicios