Msgbox en VBA, mandar mensajes al usuario
Con Msgbox en VBA para Excel podemos mandar de manera muy sencilla mensajes a los usuarios cuando estamos utilizando VBA bien en una macro normal o bien en un evento Este mensaje aparece en la pantalla del usuario como una ventana y puede tener varios elementos de configuración.
SINTAXIS DE MSGBOX EN VBA
La función Msgbox tiene una sintaxis bastante sencilla pero podemos complicarla mucho, casi tanto como se quiera. Básicamente esta función lanza un pop-up con un mensaje. Este pop-up tiene los siguientes argumentos:
Con Msgbox en VBA para Excel podemos mandar de manera muy sencilla mensajes a los usuarios cuando estamos utilizando VBA bien en una macro normal o bien en un evento Este mensaje aparece en la pantalla del usuario como una ventana y puede tener varios elementos de configuración.
SINTAXIS DE MSGBOX EN VBA
La función Msgbox tiene una sintaxis bastante sencilla pero podemos complicarla mucho, casi tanto como se quiera. Básicamente esta función lanza un pop-up con un mensaje. Este pop-up tiene los siguientes argumentos:
- Mensaje: una cadena de texto que se mostrará al usuario.
- Título: es opcional. También una cadena de texto que deberá ser breve para mostrar al usuario.
- Botones: es opcional, por defecto aparecerá “Aceptar”. Los botones pueden ser algunos de los siguientes: vbOKonly, vbCancelOnly, vbYesNo, vbCritical, vbExclamation, vbQuestion…
EJEMPLOS DE MSGBOX
A continuación vamos a mostrar algunos ejemplos de esta función y sus resultados.
A continuación vamos a mostrar algunos ejemplos de esta función y sus resultados.
EJEMPLO1: SÓLO EL MENSAJE.
Sub MensajeSencillo()
MsgBox "Bienvenidos a esta web!"
End Sub
Como puede verse en el código que hemos escrito, el mensaje tiene que ir escrito entre comillas dobles. En la siguiente imagen veréis el resultado de esta macro.
EJEMPLO2: MENSAJE CON UNA EXCLAMACIÓN DE TÍTULO
Sub Mensaje_con_botón()
MsgBox "Bienvenidos a esta web!", vbExclamation
End Sub
Este mensaje además de ser muy visual, lanza una alerta sonara típica de windows. Como ves, el botón es el de aceptar pero en esta ocasión hay un símbolo de exclamación que hace más “pro” el mensaje.
EJEMPLO 3: MENSAJE CON BOTONES DE YES Y NO Y TÍTULO
Como puede verse en el siguiente ejemplo hemos añadido un ejemplo con los tres componentes principales de un Msgbox. No es muy complejo hacerlo pero aún podemos complicarlo un poco más. Fíjate que el título ha cambiado, ya no pone “Microsoft Excel” sino que pone “Mi título”
Sub Mensaje_con_título()
MsgBox "Bienvenidos a esta web!", vbYesNo,"Mi título"
End Sub
EJEMPLO 4: COMBINAR DOS TIPOS DE BOTONES
En este ejemplo vamos a combinar el botón de vbYesNo para que aparezca como en la anterior imagen con el de la exclamación del ejemplo 2.
Sub Mensaje_con_dos_botones()
MsgBox "Bienvenidos a esta web!", vbYesNo + vbExclamation, "Mi título"
End Sub
En la siguiente imagen vemos como quedan combinados ambos botones creando un efecto muy útil e interesante.
EJEMPLO 5: OBTENER LA RESPUESTA SI O NO DEL MSGBOX
¿Pero se puede hacer? Claro! Sino no habría posibilidad de poner dos botones. Obtener la respuesta es muy útil en los casos en los que queremos hacer algo o no hacerlo. En el ejemplo siguiente, VBA preguntará al usuario si está seguro de querer poner en rojo la celda A1 de este libro
Sub Obtener_valor_del_mensaje()
'primero pongo la pregunta
resultado = MsgBox("¿Quieres pintar de rojo la celda A1?", vbYesNo, "Colorear A1")
'ahora manejo el resultado a mi antojo
If resultado = vbYes Then
Range("A1").Interior.Color = vbRed
End If
End Sub
El resultado de esta pequeña macro te animo a que lo descubras tú mismo.
No hay comentarios:
Publicar un comentario