Come creare funzioni di casella di messaggio in excel?

La prima cosa che ho imparato su VBA è stata come utilizzare una finestra di messaggio (“funzione msgbox”). È come una semplice finestra popup nella finestra di Excel per visualizzare un messaggio specifico. Se ci pensi, puoi usarlo in due modi.

  • Consegnare un messaggio all’utente.
  • Ottieni una risposta semplice dall’utente.

La maggior parte dei programmatori VBA lo usa nei codici macro per renderli più interattivi e se non lo conosci, scommetto che dopo aver letto questo articolo te ne innamorerai.

Suggerimento dell’esperto: se sei un principiante VBA, potrebbe essere una buona idea saperne di più sulla finestra di messaggio VBA.

Quindi, oggi in questo articolo vorrei condividere con voi tutti i dettagli sull’utilizzo di una finestra di messaggio in Excel e alcuni esempi reali.

…Iniziamo.

Sintassi

=MSGBOX(prompt, [pulsanti], [titolo], [file di aiuto, contesto])

Sintassi della funzione msgbox vba

  • prompt Espressione stringa utilizzata per la visualizzazione come messaggio. La lunghezza massima dei caratteri è 1024, che dipende dalla larghezza dei caratteri.
  • [pulsanti] È possibile utilizzare questo argomento per specificare i pulsanti, lo stile dell’icona, l’identità del pulsante e la modalità della finestra di messaggio.
  • [titolo] Puoi utilizzare questo argomento per specificare il testo del titolo per la tua finestra di messaggio.
  • [helpfile] Questo argomento ti aiuterà a specificare un file di aiuto per l’utente. L’utente può accedere a questo file della guida utilizzando il pulsante della guida. Se si specifica un file della guida, è obbligatorio specificare un numero di contesto.
  • [contesto] Espressione numerica utilizzata per assegnare un argomento della guida dal menu della guida.

Nota: nell’elenco precedente, gli argomenti sopra indicati tra parentesi quadre sono facoltativi, puoi saltarli per specificarli.

Come personalizzare una finestra di messaggio e utilizzare pulsanti diversi

Puoi personalizzare facilmente una finestra di messaggio VBA con tutte le opzioni disponibili. Diamo un’occhiata a queste opzioni.

#1. vbOKOnly

Questo ti dà un semplice pulsante OK. L’utente può cliccarci sopra dopo aver letto il messaggio per chiuderlo. È inoltre possibile utilizzare una macro da eseguire dopo aver fatto clic sul pulsante OK.

Sotto OKSolo()

MsgBox Prompt := “Questo è un MsgBox”, _

Pulsanti:=vbOKOnly, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#2. vbOKAnnulla

Questa costante ti dà un pulsante OK e annulla. L’utente ha ora due opzioni: premere OK per continuare o annullare per uscire.

Sotto OKAnnulla()

MsgBox prompt:= »Stai bene? », _

Pulsanti:=vbOKAnnulla, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#3. vbAbortRetryIgnore

Ciò consente di visualizzare tre pulsanti per Informazioni, Riprova e Ignora. L’utente può interrompere l’operazione, riprovare o ignorarla.

Sotto OKAnnulla()

MsgBox prompt:= »Stai bene? », _

Pulsanti:=vbOKAnnulla, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#4. vbSìNoAnnulla

Questa costante visualizza tre pulsanti per Sì, No e Annulla. L’utente può Sì per accettare e continuare, No per rifiutare o annullare per chiudere la finestra di messaggio.

Sotto SìNoAnnulla()

MsgBox Prompt := “Ora hai tre pulsanti”, _

Pulsanti:=vbYesNoCancel, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#5. vbSìNo

Questa costante visualizza due pulsanti per Sì e No. L’utente può fare clic su Sì per accettare e continuare o su No per rifiutare.

Sotto SìNo()

MsgBox Prompt := “Ora hai due pulsanti”, _

Pulsanti:=vbSìNo, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#6. vbRiprovaAnnulla

Ora mostra due pulsanti, riprova e annulla. Puoi usarlo per chiedere all’utente di ritentare l’operazione o annullarla.

Sub RetryCancel()MsgBox Prompt:=”Riprova”, _Buttons:=vbRetryCancel, _Title:=”MsgBox”End Sub

#7. vbReview

Questa costante visualizza un’icona nella finestra del messaggio, indicando che il messaggio è critico.

Subcritico()

MsgBox Prompt:= “Questo è fondamentale”, _

Pulsanti:=vbCritical, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#8. vbDomanda

Questa costante può essere utilizzata quando si pone una domanda all’utente.

Sottodomanda()

MsgBox Prompt := »Cosa fare adesso? », _

Pulsanti:=vbDomanda, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#9. vbEsclamazione

Questa costante visualizzerà un’icona esclamativa con il messaggio.

SottoEsclamazione()

MsgBox Prompt := »Cosa fare adesso? », _

Pulsanti:=vbEsclamativo, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#dieci. vbInformazioni

Verrà visualizzata un’icona che indica che il messaggio è informativo.

Sub Information()MsgBox Prompt:=”Cosa fare adesso?”, _Buttons:=vbInformation, _Title:=”MsgBox”End Sub

#11. vbDefaultButton1

Utilizza questa costante per specificare il primo pulsante nella casella dei messaggi come pulsante predefinito.

Sub DefaultButton1()MsgBox Prompt:=”Il pulsante1 è evidenziato?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=”MsgBox”End Sub

#12. vbDefaultButton2

Utilizza questa costante per specificare il secondo pulsante nella finestra di messaggio come pulsante predefinito.

Sub DefaultButton2()MsgBox Prompt:=”Il pulsante2 è evidenziato?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=”MsgBox”End Sub

#13. vbDefaultButton3

Usa questa costante per specificare il terzo pulsante nella tua msgbox come pulsante predefinito.

Sub DefaultButton3()MsgBox Prompt:=”Il pulsante3 è evidenziato?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=”MsgBox”End Sub

#14. vbDefaultButton4

Usa questa costante per specificare il quarto pulsante nella tua msgbox come pulsante predefinito.

Sub DefaultButton4()MsgBox Prompt:=”Il pulsante4 è evidenziato?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=”MsgBox”End Sub

#15. vbApplicationModal

Questa costante sospenderà l’applicazione (Excel), l’utente dovrà rispondere al msgbox per utilizzare l’applicazione.

Sotto OKSolo()

MsgBox Prompt := “Questo è un MsgBox”, _

Pulsanti:=vbOKOnly, _

Titolo: = “Cassetta postale”, _

Sottotitolo finale

#16. vbSystemModal

Questa costante sospenderà tutte le applicazioni nel sistema operativo, l’utente dovrà prima rispondere alla finestra di messaggio.

Sub ApplicationModal()MsgBox Prompt := »Questa è la modale dell’applicazione», _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub

#17. vbMsgBoxHelpButton

Utilizza questa costante per aggiungere un pulsante di aiuto alla tua casella di posta. È possibile aggiungere un file della guida e un numero di contesto per utilizzare il pulsante della guida.

Sub HelpButton()MsgBox Prompt:=”Usa pulsante Aiuto”, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=”MsgBox”, _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”, _Context:=101End Sub

Una volta che l’utente fa clic sul pulsante della guida, viene visualizzato un menu di guida.

#18. vbMsgBoxSetForeground

Questa costante ti aiuterà a rendere la finestra della tua casella di messaggio una finestra in primo piano.

Sub SetForeground()MsgBox Prompt:=”Questo MsgBox è in primo piano”, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=”MsgBox”End Sub

#19. vbMsgBoxRight

Il testo verrà allineato a destra utilizzando questa costante.

Sotto MsgBoxRight()

MsgBox Prompt := “Il testo è a destra”, _

Pulsanti:=vbOK + vbMsgBoxRight, _

Titolo: = “Cassetta postale”

Sottotitolo finale

#20. vbMsgBoxRtlLettura

Usando questa costante, la finestra del messaggio si sposterà a destra. Questa costante è progettata principalmente per i sistemi ebraico e arabo.

Sotto MsgBoxRtlRead()

MsgBox Prompt := “Questa casella è ribaltata”, _

Pulsanti:=vbOK + vbMsgBoxRtlLeggi, _

Titolo: = “Cassetta postale”

Sottotitolo finale

Valori restituiti

Ogni volta che un utente risponde alla finestra di messaggio facendo clic su uno dei pulsanti, viene generato un numero. Ciò ti aiuterà a identificare il pulsante su cui l’utente ha fatto clic.

Costante
Valore
Descrizione
vbOK
1
VA BENE
vbAnnulla
2
Annulla
vbAbort
3
Aborto
vbRiprova
4
Ricomincia
vbSalta
5
Ignorare
vbSì
6
vbNo
7
NO

Esempi reali di utilizzo della funzione casella di messaggio VBA in Excel

Qui ho elencato alcuni esempi di finestre di messaggio VBA reali e sono sicuro che questi esempi ti ispireranno a usarlo.

#1. Esegui una macro con un MsgBox VBA

Ora con l’aiuto della funzione msgbox puoi chiedere all’utente prima di eseguire una macro. Diamo un’occhiata alla macro qui sotto per capire.

Sotto SalvaQuesto()

Risultato dim come numero intero

Risultato = MsgBox(“Vuoi salvare questo file?”, vbOKCancel)

Se risultato = vbOK Allora

ActiveWorkbook.Salva

Sottotitolo finale

salva la cartella di lavoro con vba msgbox

Puoi chiedere all’utente di salvare la cartella di lavoro e se l’utente fa clic sul pulsante OK, il codice macro salverà la cartella di lavoro.

#2. Inserisci una tabella in una finestra di messaggio

È possibile utilizzare vbTab per inserire dati tabulari nella finestra di messaggio. In questo esempio, la tabella inizia dalla cella A1.

Sotto AddToMsgBox()

Dim messaggio come stringa

Dim r come int

Dim c come int

Dim rc come int

Dim cc come int

Dim myRows As Range

Dim myColumns come intervallo

Messaggio = “”

Imposta mieRighe = Intervallo(“A:A”)

Imposta mieColonne = Intervallo(“1:1”)

rc = Applicazione.CountA(mieRighe)

cc = Application.CountA(miecolonne)

Per r = 1 a rcPer c = 1 a cc

Messaggio = Messaggio e celle(r, c).Testo

Se c <= cc Allora

Messaggio = Messaggio e vbTab

successivo cMsg = Msg & vbCrLf

Il prossimo r

MsgBox Msg

Sottotitolo finale

#3. Mostra la finestra di messaggio all’apertura di un file

Se guardi la macro seguente, ho utilizzato auto_open per creare un messaggio da visualizzare all’apertura della cartella di lavoro.

Sotto auto_open()

MsgBox “Benvenuti in Exceladvisor e grazie per aver scaricato questo file” _

+ vbNewLine + vbNewLine + “Qui troverai una spiegazione dettagliata della funzione MsgBox. » _

+ vbNewLine + vbNewLine + “E non dimenticare di dare un’occhiata ad altre cose interessanti. »

Sottotitolo finale

Asporto

  1. Non puoi aggiungere quattro pulsanti a una finestra di messaggio se non utilizzi il pulsante della guida come quarto pulsante.
  2. Per creare un file della guida per la tua casella di messaggio, puoi fare riferimento al seguente file di esempio.

File di esempio

Scarica questo file di esempio qui per saperne di più.

Conclusione

La finestra di messaggio non solo ti aiuta a trasmettere un messaggio, ma dà anche un’impressione creativa all’utente. Puoi inviare loro un messaggio e ottenere una risposta semplice.

E come ho detto, se sei nuovo a VBA, imparare a usare una finestra di messaggio è una delle cose migliori. Spero che questo articolo ti abbia aiutato ad avvicinarti al tuo sogno di padroneggiare VBA, ma ora dimmi una cosa.

Pensi che la funzione MsgBox sia una delle cose più interessanti di VBA?

Assicurati di condividere le tue opinioni con me nella sezione commenti, mi piacerebbe sentire la tua opinione e non dimenticare di condividere questo suggerimento con i tuoi amici.

Ulteriori informazioni su VBA

Aggiungi un commento

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