Vba: come creare una finestra di messaggio con risposte sì/no


È possibile utilizzare la seguente sintassi in VBA per creare una finestra di messaggio in cui un utente possa selezionare Sì o No:

 Sub MsgBoxYesNo()

    'ask user if they want to multiply two cells
    UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)

    'perform action based on user response
    If UserResponse = vbYes Then
      Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
    Else
      MsgBox “ No Multiplication was PerformedEnd If

End Sub

Questa particolare macro crea una finestra di messaggio che chiede all’utente se desidera moltiplicare le celle A1 e B1.

Se l’utente fa clic su “Sì”, entrambe le celle vengono moltiplicate e il risultato viene visualizzato nella cella C1.

Se l’utente fa clic su “No”, viene visualizzata una nuova finestra di messaggio che informa che non è stata eseguita alcuna moltiplicazione.

Tieni presente che l’istruzione vbYesNo è ciò che inserisce i pulsanti “Sì” e “No” su cui l’utente può fare clic.

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio: creare una finestra di messaggio con risposte Sì/No

Supponiamo di avere i seguenti due valori nelle celle A1 e B1 del nostro foglio Excel:

Diciamo che vogliamo creare una macro che mostri una finestra di messaggio all’utente e chieda se desidera o meno moltiplicare i valori nelle celle A1 e B1.

Per fare ciò possiamo creare la seguente macro:

 Sub MsgBoxYesNo()

    'ask user if they want to multiply two cells
    UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)

    'perform action based on user response
    If UserResponse = vbYes Then
      Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
    Else
      MsgBox “ No Multiplication was PerformedEnd If

End Sub

Quando eseguiamo questa macro, viene visualizzata la seguente finestra di messaggio:

VBA msgbox sì o no

Se facciamo clic su , la macro moltiplicherà i valori nelle celle A1 e B2 e visualizzerà il risultato nella cella C1:

Tuttavia, se facciamo clic su No , verrà visualizzata una nuova finestra di messaggio:

La finestra di messaggio ci informa che non è stata eseguita alcuna moltiplicazione poiché abbiamo fatto clic su No nella finestra di messaggio precedente.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come aggiungere una nuova riga alla finestra di messaggio
VBA: come aggiungere nuovi fogli
VBA: come bloccare i riquadri

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *