La funzione MsgBox in Excel VBA può restituire un risultato, mentre un semplice MsgBox non ci riesce.

Situazione:

MsgBox Function Example

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

  1. In primo luogo, si dichiara una variabile denominata risposta di tipo Integer.

Dim answer As Integer
  1. Usiamo la funzione MsgBox per inizializzare la risposta variabile con l’input da parte dell’utente.

La funzione MsgBox, quando si utilizza parentesi, ha tre argomenti. La prima parte è utilizzata per il messaggio nella finestra di messaggio. Utilizzare la seconda parte per specificare quali pulsanti e le icone che si desidera visualizzare nella finestra di messaggio. La terza parte è visualizzato nella barra del titolo della finestra di messaggio.

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

Nota: posiziona il cursore sul vbYesNo in Visual Basic Editor e fare clic su F1 per vedere quali altri pulsanti e le icone è possibile utilizzare. Al posto delle costanti vbYesNo e vbQuestion, è anche possibile utilizzare i valori corrispondenti 4 e 32.

  1. Se l’utente fa clic sul pulsante Sì, Excel VBA svuota il foglio. Se l’utente fa clic sul pulsante No, non succede nulla. Aggiungere le seguenti righe di codice per raggiungere questo obiettivo.

If answer = vbYes Then

Cells.ClearContents

Else

'do nothing

End If
  1. Fare clic sul pulsante di comando sul foglio.

  2. Fare clic su Sì.

Msgbox Function in Excel VBA

Risultato:

MsgBox Function Result