La función MsgBox en Excel VBA puede devolver un resultado mientras que un MsgBox simple no puede.

Situación:

MsgBox Function Example

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

  1. En primer lugar, declaramos una variable llamada respuesta de tipo entero.

Dim answer As Integer
  1. Utilizamos la función MsgBox para inicializar la variable de respuesta con la entrada del usuario.

La función MsgBox, al utilizar paréntesis, tiene tres argumentos. La primera parte se utiliza para el mensaje en el cuadro de mensaje. Utilice la segunda parte para especificar qué botones e iconos que desea que aparezca en el cuadro de mensaje. La tercera parte se muestra en la barra de título del cuadro de mensaje.

answer = MsgBox("Are you sure you want to empty the sheet?", vbYesNo + vbQuestion, "Empty Sheet")

Nota: Coloca el cursor sobre vbYesNo en el Editor de Visual Basic y haga clic en F1 para ver qué otros botones e iconos que puede utilizar. En lugar de las constantes vbYesNo y vbQuestion, también se pueden utilizar los valores correspondientes 4 y 32.

  1. Si el usuario hace clic en el botón Sí, Excel VBA vacía la hoja. Si el usuario hace clic en el botón No, no pasa nada. Añadir las siguientes líneas de código para lograr esto.

If answer = vbYes Then

Cells.ClearContents

Else

'do nothing

End If
  1. Haga clic en el botón de comando en la hoja.

  2. Haga clic en Sí.

Msgbox Function in Excel VBA

Resultado:

MsgBox Function Result