Excel VBA MsgBox basics

Con Excel VBA (Visual Basic for Applications) è possibile creare una finestra di dialogo, ovvero la VBA MsgBox che sfrutta il sistema operativo Windows. Ecco cos'è nel dettaglio.

Funzione MsgBox

Visualizzare un messaggio nella casella di dialogo, attendere che l'utente clicchi un bottone e poi conoscere che tasto l'utente ha cliccato tramite un Integer (numero intero) di ritorno.

Sintassi

MsgBox(prompt[, buttons] [, title] [, helpfile, context])
context Description
prompt a (Must) string, la lunghezza massima del prompt è di 1024 caratteri, se il prompt si compone in più di una linea, è possibile separarle utilizzando un carattere ad ogni capo (Chr(13)
buttons Opzionale, la somma dei valori che specificano il numero e il tipo di pulsanti da visualizzare, il valore predefinito per i pulsanti è 0.
title Opzionale. Stringhe sono visualizzate nella barra del titolo della finestra di dialogo.
helpfile Opzionale. Delle stringhe che identificano l'Help file da utilizzare per fornire aiuto sensibile al contesto per la finestra di dialogo.
context Opzionale. L'espressione numerica che è il numero di contesto del Help assegnato dall'autore dell'Help stesso, all'argomento adeguato.

Esempi:

Dim m
m = MsgBox("Simple MsgBox")

Dim m
m = MsgBox("Simple MsgBox with a custom title", 0, "This is a test Title")

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 1)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 2)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 3)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 4))

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 5)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 16)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 32)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 48)

Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 64)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 256)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 512)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 768)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 4096)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 16384)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 65536)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 524288)
Dim m
m = MsgBox("Line-1" & Chr(13) & "Line-2", 1048576)

Valori di ritorno

Constant Value Description
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

Esempi:

Sub test()
    Dim m
    m = MsgBox("Do you really want do delete current active cell's value?", 4, "Delete confirmation")
    If m = 6 Then
        ActiveCell.Value = ""
    End If 
End Sub

In questo esempio, se si sceglie "Yes" la cella attiva verrà eliminata:

Foto: © Pexels.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Potrebbe anche interessarti
Il documento intitolato « Excel VBA MsgBox basics » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.