Hola, cuando se invoca la función MsgBox se despliega una ventana en la que se nos muestra un mensaje y una serie de botones a elegir entre Sí, No, Aceptar, Cancelar, Anular, Omitir, Reintentar...etc. Los botones a mostrar los podemos elegir nosotros. La sintaxis es del tipo MsgBox("Valor no válido"), que sería simplemente para mostrar un mensaje, ó Respuesta = MsgBox("¿Desea continuar?", vbYesNo), donde Respuesta es una variable tipo Integer donde se almacena un número asociado a la respuesta que ha dado el usuario. Por ejemplo, Respuesta valdrá 1 si el usuario ha elegido aceptar, valdrá 2 si ha elegido cancelar, valdrá 3 si ha elegido anular. En base a esa respuesta podemos tomar decisiones sobre qué debe hacer el programa.
Ejemplo de código: Programa para calcular el área de un rectángulo a partir de su base y de su altura (Area = base x altura)
Public Class Form1
Dim respuesta As Integer
Dim base As Integer
Dim altura As Integer
Dim area As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "Ejemplo de uso de InputBox y MsgBox"
respuesta = vbYes
Do While respuesta = vbYes
base = InputBox("Introduzca la base del rectángulo en m")
altura = InputBox("Introduzca la altura del rectángulo en m")
area = base * altura
respuesta = MsgBox("El área del rectangulo es " & area & " m2" & vbCrLf & "Quiere repetir y realizar otro cálculo? (S/N)", vbYesNo, "¿Continuar?")
Loop
MsgBox("Fin del programa")
End Sub
End Class
Nota: el código es de VB2010