Messagebox y Excel VBA
Las messagebox son muy útiles (y fáciles de usar), y crea una interfaz entre el usuario y el programa. Sirven para
- Mostrar información al usuario
- Recibir información del usuario
- Devolver información del usuario
Construcción sintáctica de la messagebox
Msgbox "Mensaje", Botones/íconos, "Título"
o en el caso de devolver información
Respuesta = Msgbox("Mensaje", _ Botones/íconos, "Título")
Nota los paréntesis en la segunda construcción.
Mensaje
Cualquier tipo de texto. Para crear un salto de línea empleamos el carácter vbCrLf.
Actualización terminada:" & vbCrLf & _ "- Importación de datos de venta.
Botones
Si quieres puedes añadir cualquier de estos cuatro botones (si no pones nada Excel te pondrá vbOkOnly por defecto).
vbOkOnly
vbOkCancel
vbYesNoCancel
vbAbortRetryIgnore
Íconos
Puedes elegir entre los siguientes.
vbCritical
vbQuestion
vbExclamation
vbInformation
Título
Cualquier texto.
Devolver información
Si quieres que el programa utilice la respuesta del usuario, estas son las cifras que te devuelve.
Ok = 1
Cancel = 2
Abort = 3
Retry = 4
Ignore = 5
Yes = 6
No = 7
Ejemplos
Te ponemos unos ejemplos módelo para que te vayas acostumbrando a las diferentes messagebox.
Sub MessageBox() msgbox "Actualización terminada:", _ vbOKOnly, "Información" End Sub

Sub MessageBox() msgbox "¿Quieres seguir?", vbYesNo, _ "Información importante" End Sub

Sub MessageBox() Dim intRespuesta As Integer intRespuesta = msgbox("¿Quieres seguir?", _ vbQuestion + vbYesNo, "Información importante") If intRespuesta = 6 Then msgbox "Seguimos" Else msgbox "Terminamos" End If End Sub

Sub MessageBox() msgbox "Actualización terminada:" & _ vbCrLf & vbCrLf & _ "- Importación de datos de venta." & vbCrLf & _ "- Cálculos de impuestos." & vbCrLf & _ "- Venta por proveedor." & vbCrLf _ , vbOKOnly, "Actualización terminada." End Sub

Sub MessageBox() msgbox "Actualización terminada:" & vbCrLf & _ vbCrLf & _ "- Importación de datos de venta." & vbCrLf & _ "- Cálculos de impuestos." & vbCrLf & _ "- Venta por proveedor." & vbCrLf _ , vbExclamation + vbOKOnly, _ "Actualización terminada." End Sub



