No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Uso de MessageBox en Visual Basic para Mostrar Resultados

10/17
Recursos

Las ventanas emergentes son una herramienta fundamental para mejorar la interacción con el usuario en Visual Basic, permitiendo mostrar información relevante de manera clara y efectiva durante la ejecución de funciones y subrutinas.

¿Cómo implementar message box en Visual Basic?

La implementación de message box en Visual Basic requiere una estructura específica que permite mostrar mensajes personalizados al usuario. El proceso comienza con la creación de una función básica:

  1. Definir una función pública
  2. Establecer los argumentos necesarios
  3. Implementar la lógica de la función
  4. Agregar el message box

¿Cuál es la sintaxis correcta para crear un message box?

Para implementar un message box efectivo, es necesario seguir estos pasos:

  • Declarar una variable utilizando "dim"
  • Asignar el message box a la variable declarada
  • Utilizar la estructura: MsgBox(prompt, buttons, title)

El prompt es el mensaje principal, buttons define el tipo de botones a mostrar, y title establece el encabezado de la ventana emergente.

¿Cómo personalizar el contenido del message box?

La personalización del message box permite crear mensajes más informativos y profesionales:

  • Combinar texto y variables utilizando el operador ampersand (&)
  • Seleccionar diferentes tipos de botones según la necesidad
  • Agregar títulos descriptivos para contextualizar el mensaje
  • Incluir información dinámica basada en los resultados de la función

¿Cuáles son las aplicaciones prácticas del message box?

El message box es una herramienta versátil que puede utilizarse en diversos escenarios:

  • Mostrar resultados de operaciones matemáticas
  • Presentar mensajes de error
  • Proporcionar información de estado
  • Solicitar confirmación del usuario

Las ventanas emergentes son especialmente útiles cuando necesitamos comunicar información importante al usuario de manera inmediata y clara, mejorando significativamente la experiencia de uso de nuestras aplicaciones en Visual Basic.

Aportes 79

Preguntas 16

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Más adelante, podría usar este MSGBOX para advertir que:
.

  • No estás escribiendo en formato fecha
  • Los números no están en formato número, sino texto
    .
    En definitiva, advertencias que ayuden a tener una base de datos en excel muy limpia y sin errores.

Que es Msgbox

MessageBox es una función en VBA (Visual Basic for Applications) que muestra un cuadro de diálogo emergente en Excel para mostrar mensajes o solicitar información al usuario. Proporciona una forma sencilla de interactuar con el usuario a través de una interfaz gráfica.

Sintaxis

La sintaxis básica de MessageBox es la siguiente:

MessageBox(prompt, [buttons], [title])

Donde:

  • prompt es una cadena de texto que contiene el mensaje que se mostrará en el cuadro de diálogo.

  • [buttons] (opcional) especifica los botones que se mostrarán en el cuadro de diálogo. Puede tomar uno de los siguientes valores:

    • vbOKOnly (valor predeterminado): muestra solo el botón “OK”.
    • vbOKCancel: muestra los botones “OK” y “Cancelar”.
    • vbYesNo: muestra los botones “Sí” y “No”.
    • vbYesNoCancel: muestra los botones “Sí”, “No” y “Cancelar”.
  • [title] (opcional) es una cadena de texto que especifica el título del cuadro de diálogo.

Ejemplos

Hola mundo 🪐

Sub MostrarMensaje()
MsgBox "¡Hola, mundo!", vbOKOnly, "🪐Saludo" 
End Sub

Combinar botones

Sub MostrarMensaje()
    Dim respuesta As Integer
    respuesta = MsgBox("¿Desea guardar los cambios?", vbYesNoCancel + vbQuestion, "Guardar cambios")
    
    Select Case respuesta
        Case vbYes
            ' Código para guardar los cambios
            MsgBox "Cambios guardados correctamente.", vbInformation, "Éxito"
        Case vbNo
            ' Código para descartar los cambios
            MsgBox "Cambios descartados.", vbInformation, "Descartar cambios"
        Case vbCancel
            ' Código para cancelar la acción
            MsgBox "Operación cancelada.", vbInformation, "Cancelar"
    End Select
End Sub

Salto de linea

Para mostrar un salto de línea en un MessageBox en VBA, puedes utilizar el carácter especial de escape vbNewLine o vbCrLf. Aquí tienes un ejemplo:

Sub MostrarMensaje()
    Dim mensaje As String
    mensaje = "Este es el primer párrafo." & vbNewLine & "Este es el segundo párrafo."
    MsgBox mensaje, vbInformation, "Mensaje con salto de línea"
End Sub

En este ejemplo, se crea una variable mensaje que contiene dos líneas de texto. Para agregar un salto de línea entre ellas, se utiliza & vbNewLine &. Luego, se muestra el MessageBox con el mensaje resultante.

Hola comunidad,

Adjunto mi Message Box del ejercicio.

También si alguien quedó con curiosidad sobre la declaración “Dim a”, es la sintaxis para declarar una variable en VBA y en este caso al no especificar el tipo de variable por default según documentación de Microsoft se asigna el tipo Variant.

Como vimos en clases anteriores este tipo de dato puede tomar cualquier valor.

Dim nombreVariable as TipoDeDato

Saludos,

Hola, no sé aún para que lo usaré, pero supongo que lo usaré como un promp para advertirme de ingresar otro tipo de dato?
Para el ejercicio hice esta funcion para calcular el añ de nacimiento de una persona segun su edad, con msgbox, y llamé la función en una celda, usanda como argumento el ingreso de otra. El resultado es que pido ingresar la edad y en la columna de al lado me dice la fecha de nacimiento. Puse fecha de nacimiento pero es el año.


Utilizaría msgbox para indicar al usuario que se ha ejecutado correctamente un proceso.

Public Function div(numerador As Integer, denominador As Integer) As Double

Dim a
div = numerador / denominador

a = MsgBox("El resultado de la división es: " & div, , "División")

End Function

En la ventana inmediato:
?div(10,2)

Muestra una ventana de mensajes, también llamada cuadro de diálogo, que presenta un mensaje al usuario. Se trata de una ventana modal que bloquea otras acciones en la aplicación hasta que el usuario la cierra. Un objeto MessageBox puede contener texto, botones y símbolos que informan y dan instrucciones al usuario.

Poddría usar Message Box cuando quiero que ingresen un N° de identificación válido, con un mensaje de error por el tipo de caracter ingresado, para indicar que llenó el documento correctamente y otros.

He visto message box que funcionan dentro de excel como un boton donde se introducen datos (código de un producto) y este automáticamente genera por ejemplo el costo desglosado del mismo.

[](

We need to create a new variable when we put atributes in msgbox

Crear un Message box puede ser muy uitil para generar una alerta de acción cuando un indidcador clave alcance nivel determinado y relevante.

Me perdí un poco con el Dim a, pero pude: ![](https://static.platzi.com/media/user_upload/upload-ec6826b5-64df-46bd-ba03-ce5d648d8ba6.png)
Me gustaría utilizar el massagebox para que me indiques en este formato que ha terminado de ejecutar la macro
**Message Box** en VBA (Visual Basic for Applications) es una función que muestra una ventana emergente con un mensaje específico y opciones para que el usuario interactúe. Su uso es común para proporcionar información o solicitar confirmaciones dentro de las macros de Excel. Permite personalizar el mensaje y título, y también elegir qué botones se mostrarán, como "OK" o "Cancelar". Esto mejora la interacción del usuario con las aplicaciones desarrolladas en VBA, haciendo más claras las operaciones realizadas. **Sintaxis Básica** La sintaxis básica de `MessageBox` en VBA es la siguiente: `MsgBox(prompt, [buttons], [title], [helpfile], [context])` * `prompt`: El mensaje que quieres mostrar. * `buttons`: (opcional) Especifica el tipo de botones y el icono a mostrar. * `title`: (opcional) El título de la ventana. * `helpfile`: (opcional) Ruta al archivo de ayuda. * `context`: (opcional) Contexto para la ayuda. Saludos, Maria CRM
advertencia de error
Buen día: La funcionalidad de MSGBOX me permite interactuar con mi usuario, de una manera mas amigable, clara y también compartir mensajes o aclaraciones sobre el campo que se esta ejecutando. Feliz día.
![](https://static.platzi.com/media/user_upload/image-c93526e8-07f1-4ace-a95e-0aed54c8dd75.jpg)
![](https://static.platzi.com/media/user_upload/image-4d91fd6b-7960-4620-97cf-e45669a1f7d3.jpg) ![](https://static.platzi.com/media/user_upload/image-8db0dfad-2730-4b54-9a8b-2d8e9b30b7c8.jpg) ![](https://static.platzi.com/media/user_upload/image-0278925a-f7fe-47c9-a066-a25902985c34.jpg) ![](https://static.platzi.com/media/user_upload/image-7a445f93-1cdf-4011-8ab4-0bfe5de124c5.jpg)
![](https://static.platzi.com/media/user_upload/image-1c7d8d66-0dc7-4bc7-834c-b0b8d50ffdd5.jpg)
![](https://static.platzi.com/media/user_upload/image-2e51f8a0-4cf5-4956-8621-29edecad93d3.jpg)
![](https://static.platzi.com/media/user_upload/%7BF87A170F-2BF4-43FA-A7B0-6B30A726B766%7D-da757a7b-d09c-4eac-af19-51abddd60981.jpg)la utilizaría para cuando alguien ingrese información en un formato que no corresponde, pero siento que falto más ejemplos como el curso anterior a este, sien embargo se entiende que es un curso de Excel avanzado :)
La función que has escrito tiene un pequeño error en la asignación de la variable `a` y en la forma de mostrar el mensaje. Aquí está la versión corregida: ```vba Public Function Divn(X As Double, s As Double) As Double Dim a As Double Divn = X / s a = MsgBox("El resultado es " & Divn, , "Division") End Function ``` Asegúrate de declarar `a` como tipo `Double` y de agregar un espacio después de "es" en el mensaje para que se vea mejor. Esta función te dará el resultado de la división y mostrará un `MsgBox` con el resultado.
La función `MsgBox` se usa como canal de comunicación entre el código y el usuario, facilitando interacciones informativas, recopilando información valiosa y mejorando la experiencia.
![](https://static.platzi.com/media/user_upload/DIM%20A-078577a8-db7f-401a-8adb-9778f54eeebe.jpg) Msg box
Hola tengo este error y no sé cómo corregirlo, alguien puede ayudarme? help ![](https://static.platzi.com/media/user_upload/image-1c50fcf7-cdc2-460a-93da-9cab3abf2941.jpg)
Mi ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-05-16%20191913-79f74267-182f-4612-b2a0-2c280f25ec18.jpg)resultado :D
Creo que vamos a utilizar MsgBox para crear ventanas con resultados de información ingresada previamente o para mostrar resultados de bases de datos creadas, aunque aquí encuentro parecido a la opción de validación de datos, espero aclarar mis dudas más adelante.
Ya quiero aprender a usar condicionales como el If en otros lenguajes... :)![](https://static.platzi.com/media/user_upload/image-96fe52b4-8c0f-4f82-b464-5584728d9493.jpg)![](https://static.platzi.com/media/user_upload/image-e9a6b343-20db-4d71-9f1b-4ab6048b8880.jpg)
Advertir errores
Lo voy a utilizar para advertencias, información previa al iniciar a editar el archivo, tutorial, etc.
Dim= Dimension, se usa para declarar variables tipo: Dim x As Integer ; declarando a x como una vraiable entera.
les comparto mi ejemplo que se me ocurrio ![](https://static.platzi.com/media/user_upload/image-43baf390-9ba4-4a58-8eb4-6a5c2ade328e.jpg)![](https://static.platzi.com/media/user_upload/image-3a68478a-c018-4aeb-8f62-cc3c3352781c.jpg)

utilizaría el msgbox para avisar al usuario que evite que pierda el tiempo como indicarle cuanto ha escrito durante los últimos quince minutos.

![](https://static.platzi.com/media/user_upload/image-389ae736-691b-4e9d-b75f-f59501a9421a.jpg)

Les comparto el grafico de mis practica

Public Sub PruebaConfirmacion() Const Titulo As String = "Atención" Dim Respuesta As VbMsgBoxResult MsgBox "Inicia la prueba de confirmación", Title:=Titulo 'El segundo parámetro de MsgBox es un parámetro aditivo con muchas más opciones. 'Se pueden consultar pulsando F1 con el cursor sobre la función MsgBox. ' vbQuestion: Muestra el icono de interrogación. ' vbYesNo: Muestra los botones 'Sí' y 'No' para tomar una decisión. ' vbDefaultButton2: Muestra el segundo botón como predeterminado. En este caso el botón 'No' Respuesta = MsgBox("¿Desea finalizar?", vbQuestion + vbYesNo + vbDefaultButton2, "Confimar operación") If Respuesta = vbYes Then 'Se puede utilizar el nombre del parámetro opcional (parámetro con nombre) 'para no tener que poner las comas de los parámetros opcionales no utilizados MsgBox "Ha elejido terminar", Title:=Titulo Else MsgBox "Quiere continuar", Title:=Titulo End If End Sub
Se puede utilizar MsgBox sin paréntesis de forma que no es necesario crear una variable auxiliar para asignarle el valor retornado. MsgBox "Mensaje" Tomar el valor de retorno de MsgBox es interesante al utilizar ciertos parámetros que solicitan información al usuario. Por ejemplo: ```js Public Sub PruebaConfirmacion() Const Titulo As String = "Atención" Dim Respuesta As VbMsgBoxResult MsgBox "Inicia la prueba de confirmación", Title:=Titulo 'El segundo parámetro de MsgBox es un parámetro aditivo con muchas más opciones. 'Se pueden consultar pulsando F1 con el cursor sobre la función MsgBox. ' vbQuestion: Muestra el icono de interrogación. ' vbYesNo: Muestra los botones 'Sí' y 'No' para tomar una decisión. ' vbDefaultButton2: Muestra el segundo botón como predeterminado. En este caso el botón 'No' Respuesta = MsgBox("¿Desea finalizar?", vbQuestion + vbYesNo + vbDefaultButton2, "Confimar operación") If Respuesta = vbYes Then 'Se puede utilizar el nombre del parámetro opcional (parámetro con nombre) 'para no tener que poner las comas de los parámetros opcionales no utilizados MsgBox "Ha elejido terminar", Title:=Titulo Else MsgBox "Quiere continuar", Title:=Titulo End If End Sub ```Public Sub PruebaConfirmacion() Const Titulo As String = "Atención" Dim Respuesta As VbMsgBoxResult MsgBox "Inicia la prueba de confirmación", Title:=Titulo 'El segundo parámetro de MsgBox es un parámetro aditivo con muchas más opciones. 'Se pueden consultar pulsando F1 con el cursor sobre la función MsgBox. ' vbQuestion: Muestra el icono de interrogación. ' vbYesNo: Muestra los botones 'Sí' y 'No' para tomar una decisión. ' vbDefaultButton2: Muestra el segundo botón como predeterminado. En este caso el botón 'No' Respuesta = MsgBox("¿Desea finalizar?", vbQuestion + vbYesNo + vbDefaultButton2, "Confimar operación") If Respuesta = vbYes Then 'Se puede utilizar el nombre del parámetro opcional (parámetro con nombre) 'para no tener que poner las comas de los parámetros opcionales no utilizados MsgBox "Ha elejido terminar", Title:=Titulo Else MsgBox "Quiere continuar", Title:=Titulo End If End Sub

El msgbox lo utilizare para dar indicaciones al usuario que utilice la macro

Emplear el MessageBox en Visual Basic para mostrar ventanas emergentes con mensajes durante la ejecución de funciones en Excel. Se inicia creando una función de división y probándola. Luego se introduce MessageBox, detallando su personalización y la necesidad de usar variables para atributos múltiples. Se resalta su utilidad en la verificación de resultados y solución de errores en el desarrollo en Excel.

La sintaxis de la función MsgBox en VBA es la siguiente:

MsgBox(prompt [, buttons [, title]])
prompt: El texto del mensaje que se mostrará en el cuadro de diálogo.
buttons: Un número que indica qué botones se mostrarán en el cuadro de diálogo. Los valores válidos son:
vbOKOnly: Un botón Aceptar.
vbOKCancel: Los botones Aceptar y Cancelar.
vbAbortRetryIgnore: Los botones Cancelar, Reintentar e Ignorar.
vbYesNoCancel: Los botones Sí, No y Cancelar.
vbYesNo: Los botones Sí y No.
vbRetryCancel: Los botones Reintentar y Cancelar.
title: El título del cuadro de diálogo. Si no se especifica ningún título, se usará el título de la aplicación.
Por ejemplo, el siguiente código mostrará un cuadro de diálogo con el mensaje “¡Hola mundo!” y un botón Aceptar:

MsgBox("¡Hola mundo!", vbOKOnly)
La función MsgBox devuelve un valor entero que indica qué botón seleccionó el usuario. Los valores válidos son:

vbOK: El usuario hizo clic en el botón Aceptar.
vbCancel: El usuario hizo clic en el botón Cancelar.
vbAbort: El usuario hizo clic en el botón Cancelar.
vbRetry: El usuario hizo clic en el botón Reintentar.
vbIgnore: El usuario hizo clic en el botón Ignorar.
vbYes: El usuario hizo clic en el botón Sí.
vbNo: El usuario hizo clic en el botón No.
Puede utilizar el valor devuelto por la función MsgBox para tomar una decisión sobre lo que sucederá a continuación. Por ejemplo, el siguiente código mostrará un cuadro de diálogo con el mensaje “¿Está seguro de que desea salir?” y los botones Sí y No. Si el usuario hace clic en el botón Sí, el código saldrá de la subrutina actual. Si el usuario hace clic en el botón No, el código no hará nada.

Dim result

result = MsgBox("¿Está seguro de que desea salir?", vbYesNo)

If result = vbYes Then
Exit Sub
End If

Muy interesante para validar datos de entrada

A través de Dim le estamos pidiendo a VBA que haga un espacio en su memoria para la variable que después utilizaremos. Comúnmente, Dim se posiciona luego de escribir el nombre de la macro que estaremos realizando. Cabe aclarar que no siempre es necesario declarar el tipo de dato de una variable, pero hacerlo puede ayudar a simplificar el código que se realice y reduce la posibilidad de tener errores.

Para indicar que falta en la inserción de datos o qué error ocurrió, bueno es un ejemplo.

Mi ejercicio

Usaria MsgBox en mensajes de advertencia por el ingreso de datos del tipo incorrecto. Por ejemplo, donde debe ingresar texto, no puede ingresar numeros.

Ejercicio:

Public Function div(numerador As Integer, denominador As Integer) As Double
  
  div = MsgBox("El resultado de la operación es " & numerador / denominador, vbInformation, "Resultado")
  
End Function

Public Function prueba(x As Integer) As Integer

prueba = x + 38

End Function

’ primera prueba de subrutina

Public Sub prueba2()

Sheets("HOJA2").Select
Cells(2, 7) = "Vamos avanzando :)"
Range(Cells(3, 6), Cells(8, 8)) = "si podemos"
Range("G9:G13") = "Gracias a la vida, qué me ha dado tanto"
Range("g14:g20") = 2023 + 1

End Sub

Buena clase.

La función de MsgBox me va a ser muy útil para que me avise cuando termine un proceso que realice.

Un saludo para Todos, voy a Utilizar msgBox para cuando esté insertando usuarios desde un Formulario

Mesage Box se puede usar para:

  • Crear una alerta en caso se use mal la formula
  • Crear una advertencia
  • Colocar un resumen de un formulario

Public Function div(numerador As Integer, denominador As Integer) As Double

Dim a
div = numerador / denominador


  a = MsgBox(" El resultador de la division es" & div, , "Division")

End Function

Podría usarse en una hoja de cálculo que lleve el registro de ventas de una tienda, si se necesitara verificar que el usuario haya introducido la cantidad correcta de ventas antes de procesar los datos. Se puede utilizar el Message Box para hacer una verificación y mostrar un mensaje al usuario si la cantidad introducida es incorrecta.

se podría usar para dar advertencia sobre sobre cómo tener una información más clara y ordenada, evitando errores o para corregir los que se vayan dando

Para indicar a un usuario cuando hay un error

Puedo utilizarlo para dar un resultado

Guau…son como alertas en JavaScript…gracias por la clase profesora 😁

Usaria msgbox para generar un archivo mas interactivo con el usuario, o bien para que remarque cuando se esta cometiendo algun error

MsgBox , lo utilizaré para las siguiente acciones:

  • Mostrar resultados con un texto personalizado.

  • Advertencia sobre la ejecución de una función

  • Solicitar confirmación para seguir con una subrutina.

  • Entre otros usos.

Después de aceptar el MsgBox, tengo este error

He buscado en internet y significa que el valor que se le asigna a una variable supera su capacidad, cambiando el valor de retorno por Integer, el error desaparece

Podemos crear alertas y mensajes de notas,
necesarias para un formulario con otros usuarios

Clase de Message Box:

MI aporte 😊

Yo lo utilizo para que me informe cuando finalizó un procedimiento o como advertencia cuando cometo un error. Tiene mucha más utilidad si estás programando para un usuario que no conoce macros, les puedes dejar diversos mensajes de guía.

Si quieren dar un mejor estilo al mensaje pueden utilizar el siguiente codigo.

Sub PRUEBA()

Msg = "Prueba Terminada."
Style = bOKOnly Or vbInformation Or vbDefaultButton1
Title = "Formato Tickets"
Help = "DEMO.HLP"
Ctxt = 1000
Response = MsgBox(Msg, Style, Title, Help, Ctxt)

End Sub

[](

El conocimiento no para.

Son ventanas emergentes dentro del entorno de Visual Basic para mensajes específicos.

Es una función importante para comprender programas en Visual Basic ya que permite mostrar en todo momento mensajes personalizados.

Needs when I crete a msgbox