Soluzione VBA per Excel: visualizza facilmente le finestre dei messaggi

Sommario

Come visualizzare una piccola finestra di dialogo in un lampo

Vuoi includere informazioni brevi e interattive per l'utente nel tuo programma VBA? Non devi necessariamente creare una finestra di dialogo complessa (UserForm).

Per piccoli compiti è possibile richiamare una finestra di messaggio predefinita utilizzando la funzione MsgBox (l'abbreviazione sta per "Message Box").

Chiami il comando nella seguente forma:

Valore restituito = MsgBox (testo della finestra, tipo di finestra, titolo della finestra)

Con il parametro Testo finestra si trasmette il testo che si desidera visualizzare nella finestra, ad esempio il testo "Questo testo compare in una finestra di segnalazione". Inserisci il testo tra virgolette.

Il parametro del tipo di finestra indica a Excel come dovrebbe apparire la finestra. Per questo sono disponibili costanti predefinite. Le costanti più importanti sono:

vbOKOnly: Visualizza solo un pulsante "OK"

vbOKAnnulla: Visualizza i pulsanti OK e Annulla.

vbRiprovaIgnoraAnnulla: Visualizza i pulsanti Riprova, Ignora e Annulla.

Con il parametro Titolo finestra si passa un testo che viene visualizzato nell'intestazione della finestra. Metti anche questo valore tra virgolette. Un esempio è la frase "Questo è il titolo della finestra".

La seguente riga di programma mostra l'uso della funzione MsgBox utilizzando un esempio:

Mostra finestra secondaria

a = MsgBox ("Questo testo appare nella finestra del messaggio", vbokcancel, "Questo è il titolo della finestra")

Fine sottotitolo

Se Excel esegue il comando, otterrai la finestra dalla seguente figura:

È possibile interrogare quale pulsante l'utente utilizza per chiudere la finestra utilizzando la variabile del valore restituito, nel caso dell'esempio di programma, utilizzando la variabile "a". I possibili valori di ritorno sono vbOk, vbCancel, vbRetry, vbIgnore per i rispettivi pulsanti.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave