Sommario:
Video: Corso VBA Excel ITA - 29 - Interazioni con l'utente 2025
La funzione VBA InputBox è utile per ottenere una singola informazione digitata dall'utente in Ex. 2016. Tale informazione potrebbe essere un valore, una stringa di testo o persino un intervallo indirizzo. Questa è una buona alternativa allo sviluppo di un form utente quando è necessario ottenere un solo valore.
Sintassi InputBox
Ecco una versione semplificata della sintassi della funzione InputBox:
InputBox (prompt [titolo] [predefinito])
La funzione InputBox accetta gli argomenti elencati qui.
Argomento | Che cosa influenza |
---|---|
Prompt | Il testo visualizzato nella casella di immissione |
Titolo | Il testo visualizzato nella barra del titolo della casella di immissione
(opzionale) |
Predefinito | Il valore predefinito per l'input dell'utente (facoltativo) |
Un esempio InputBox
Ecco una dichiarazione che mostra come utilizzare la funzione InputBox:
TheName = InputBox ("Qual è il tuo nome?", "Saluti")
Quando si esegue questa istruzione VBA, Excel visualizza questa finestra di dialogo. Si noti che questo esempio utilizza solo i primi due argomenti e non fornisce un valore predefinito. Quando l'utente inserisce un valore e fa clic su OK, il codice assegna il valore alla variabile TheName.
L'esempio seguente utilizza il terzo argomento e fornisce un valore predefinito. Il valore predefinito è il nome utente memorizzato da Excel (proprietà UserName dell'oggetto Application).
Sub GetName () Dim TheName As String TheName = InputBox ("Qual è il tuo nome?", _ "Saluti", Applicazione. UserName) End Sub
InputBox mostra sempre un pulsante Annulla. Se l'utente fa clic su Annulla, la funzione InputBox restituisce una stringa vuota.
La funzione InputBox di VBA restituisce sempre una stringa, quindi se è necessario ottenere un valore, il codice deve eseguire un controllo aggiuntivo. Nell'esempio seguente viene utilizzata la funzione InputBox per ottenere un numero. Usa la funzione IsNumeric per verificare se la stringa è un numero. Se la stringa contiene un numero, tutto va bene. Se la voce dell'utente non può essere interpretata come un numero, il codice visualizza una finestra di messaggio.
Sottoscrizioni secondarie () Dim Dimpt As String Dim Caption As String Dim DefValue As Long Dim NumSheets As String Prompt = "Quanti fogli si desidera aggiungere? "Caption =" Dimmi … "DefValue = 1 NumSheets = InputBox (Prompt, Caption, DefValue) Se NumSheets =" "Quindi Esci da Sub & apos; Annullato se IsNumeric (NumSheets) Then If NumSheets> 0 Then Sheets. Aggiungi numero: = NumSheets Else MsgBox "Numero non valido" End If End Sub
Controlla la finestra di dialogo che questa routine produce.
Un altro tipo di InputBox
Le informazioni qui presentate si applicano alla funzione InputBox di VBA. Microsoft sembra amare la confusione, quindi hai anche accesso al metodo di InputBox , che è un metodo dell'oggetto Application.
Un grande vantaggio dell'utilizzo del metodo Input InputBox è che il codice può richiedere una selezione dell'intervallo. L'utente può quindi selezionare l'intervallo nel foglio di lavoro evidenziando le celle. Ecco un breve esempio che richiede all'utente di selezionare un intervallo:
Sub GetRange () Dim Rng As Range On Error Riprendi Next Set Rng = Application. InputBox _ (prompt: = "Specifica un intervallo:", Tipo: = 8) Se Rng non è Niente, quindi Esci da Sub MsgBox "Hai selezionato intervallo" & Rng. Indirizzo End Sub
Ecco come appare.
In questo semplice esempio, il codice dice all'utente l'indirizzo dell'intervallo che è stato selezionato. Nella vita reale, il tuo codice farebbe effettivamente qualcosa di utile con l'intervallo selezionato. Una cosa carina di questo esempio è che Excel si occupa della gestione degli errori. Se inserisci qualcosa che non è un intervallo, Excel te ne parla e ti consente di riprovare.
L'applicazione. Il metodo InputBox è simile alla funzione InputBox di VBA, ma presenta anche alcune differenze. Controlla il sistema di aiuto per i dettagli completi.
