#03 Mostrar un mensaje en Excel con VBA (Macros)

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp
¡Puntúa esta entrada!
(Votos: 0 Promedio: 0)

Una de las tareas más comunes y útiles, es la de mostrar un mensaje al usuario para hacerle saber que ha ocurrido un evento o, en situaciones menos deseadas, un error. En esta entrada te explicaré rápidamente cómo hacerlo.

La palabra mágica

El nombre de la función que realiza esta tarea es MsgBox. Esto es la abreviación de ‘Message Box’ o en español: ‘Cuadro de Mensaje’.

El argumento o parámetro principal

Esta función debe ser utilizada con al menos un argumento y debe ser el mensaje que pretendes mostrar al usuario.

Así, por ejemplo, si quisieras mostrar un mensaje ‘Archivo guardado’, el código que deberías utilizar sería el siguiente:

MsgBox "Archivo guardado"

Gráfico con subgráfico

Nota que la frase está encerrada entre comillas dobles. Esto es porque se trata de una cadena de texto y, de no hacerlo así, nos marcaría un error.

Los argumentos adicionales

Existen cuatro argumentos adicionales aparte del mensaje de los cuales, normalmente, utilizaremos solo dos:

  • Buttons (Botones)
  • Title (Título)

El argumento ‘Buttons’, es el segundo y sirve para indicarle a Excel qué tipo de botones queremos utilizar en nuestro mensaje.

vbOKCancel

Si quieres un cuadro de mensaje que solo muestre el botón ‘OK’, deberías pasarle el valor constante vbOKOnly.

La línea completa quedaría así:

MsgBox "Archivo guardado", vbOKOnly

Gráfico con subgráfico

Notarás que es un cuadro exactamente igual al que vimos anteriormente. Esto es porque el valor vbOKOnly es el que trae por defecto este cuadro de mensaje.

Si cambias esta constante por cualquiera de las listadas a continuación podrás cambiar los botones que aparecerán en tu mensaje.

vbOKCancel

Si quieres mostrar los botones ‘OK’ y ‘Cancelar’, debes usar la constante vbOKCancel.

MsgBox "Archivo guardado", vbOKCancel

Gráfico con subgráfico

vbAbortRetryIgnore

Si quieres mostrar los botones ‘Abortar’, ‘Reintentar’ e ‘Ignorar’, debes usar la constante ‘vbAbortRetryIgnore’.

MsgBox "Archivo guardado", vbAbortRetryIgnore

Gráfico con subgráfico

vbYesNoCancel

Si quieres mostrar los botones ‘Sí’, ‘No’ y ‘Cancelar’, debes usar la constante ‘vbYesNoCancel’.

MsgBox "Archivo guardado", vbYesNoCancel

Gráfico con subgráfico

vbYesNo

Si quieres mostrar los botones ‘Sí’ y ‘No’, debes usar la constante ‘vbYesNo’.

MsgBox "Archivo guardado", vbYesNo

Gráfico con subgráfico

vbRetryCancel

Si quieres mostrar los botones ‘Reintentar’ y ‘Cancelar’, debes usar la constante ‘vbRetryCancel’.

MsgBox "Archivo guardado", vbRetryCancel

Gráfico con subgráfico

El argumento ‘title’

El tercer argumento es el llamado ‘title’ (Título) y es el que define cuál será el título de la caja de mensaje.

Si has estado atento, habrás notado que en la parte superior de la caja de mensaje siempre aparecía la leyenda ‘Microsoft Excel’. Esto es porque nunca le especificamos qué debía aparecer ahí, de manera que se asignó el valor por defecto que es el nombre de la aplicación.

Si ahora le pasamos en el tercer argumento una cadena de texto, verás que este título cambia.

La leyenda que colocaré será ‘Dominando Excel’, así:

MsgBox "Archivo guardado",vbyes,"Dominando Excel"

Y este es el resultado.

Gráfico con subgráfico

Pero aún hay más

Hasta aquí, hemos visto el uso básico de una caja de mensaje. Aún queda por ver cómo recoger las selecciones del usuario y cómo mostrar iconos en tus diálogos.

Esto y más lo veremos en una próxima entrada. Por ahora, practica lo aprendido y utilízalo en proyectos reales, así lograrás una mayor comprensión del tema.

¡Nos vemos!

5 comentarios en “#03 Mostrar un mensaje en Excel con VBA (Macros)”

  1. Valentin Betancur

    Hola buenas tardes, quisiera saber como puedo crear un mensaje de alerta cuando se sobrepasen un numero de horas extras y además que esta alerta sea via email, es posible? saludos, gracias.

  2. Fernando dos Santos

    Hola,

    tengo un formulario donde voy ingresando datos para generar una hoja y Me gustaría hacer saltar un mensaje de advertencia cuando la celda A5 sea igual a “aceptado” y las celdas A1 y B1 estén vacías, pero sin borrar los datos que antes ya había puesto en el formulario. Estoy utilizando el siguiente código, pero siempre me borra lo que antes había puesto en el form.

    If Range(“A5”) = “ACEPTADO” And Range (“A1,B1”) = “” Then
    MsgBox ” Faltan datos”, vbAbortRetryIgnore + VbExclamation, “Mensaje”

    End If

    Gracias todos!!

  3. HOLA UNA PREGUNTA COMO PUEDO HACER PARA QUE AL MOMENTO DE QUE UN VALOR DE LA CELDA SEA <=20 SALTE UNA VENTANA EMERGENTE, GRACIAS…

    1. Tengo el mismo problema, como puedo hacer para que al momento de ingresar un valor a una celda y esta sea mayor, salte una ventana emergente.
      Anticipadamente doy las gracias.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Scroll to Top