Excel VBA InputBox

Sebbene la maggior parte delle volte utilizzi i dati che sono già con te, a volte ti viene in mente una situazione in cui desideri che l'utente inserisca i dati come Nome, Età, ecc. Tipo di informazioni personali. Questi tipi di informazioni di input sono necessarie a volte quando stiamo conducendo un sondaggio e abbiamo bisogno di rivedere l'opinione imparziale delle persone.

Usando l'InputBox di VBA di Excel, possiamo ottenere i dati di input dall'utente. Come suggerisce il nome, InputBox funziona come una finestra pop-up che chiede all'utente di fornire determinate informazioni.

Sintassi per InputBox VBA

Di seguito è la sintassi per InputBox VBA:

Dove,

  • Prompt : messaggio che viene visualizzato per l'utente. Questo è l'unico argomento richiesto, gli altri argomenti sono facoltativi.
  • Titolo : è l'intestazione che appare nella finestra di dialogo dopo l'esecuzione corretta dell'istruzione InputBox. Se non specificato, per impostazione predefinita il sistema stampa "Microsoft Excel" come titolo.
  • Predefinito : è il valore predefinito presente nella finestra di dialogo. Possiamo anche mantenerlo nullo. Nessun valore predefinito impostato per questo argomento.
  • XPos : coordinate di posizione di una finestra di dialogo sull'asse X.
  • YPos : coordinate di posizione di una finestra di dialogo sull'asse Y.
  • File della Guida: percorso del file della guida che deve essere utilizzato. Questo argomento diventa obbligatorio da impostare quando viene passato l'argomento "Contesto".
  • Contesto : rappresenta la Guida ContextId per il file della guida utilizzato. Obbligatorio da utilizzare quando viene passato l'argomento "HelpFile".
  • Di tutti questi argomenti, solo i primi tre sono sufficienti per creare correttamente un InputBox.

Creazione di InputBox in Excel VBA

Di seguito sono riportati i diversi passaggi per creare InputBox in Excel utilizzando il codice VBA.

Puoi scaricare questo modello Excel VBA InputBox qui - Modello Excel VBA InputBox
  • Apri VBE (Visual Basic Editor premendo contemporaneamente Alt + F11 in un file Excel e fai clic su Inserisci e aggiungi un nuovo modulo in VBE.

  • Crea una macro in questo modulo denominata "Module1". Assegna un nome alla macro.

  • Digitare il comando InputBox nell'editor.

Fornisci i seguenti input all'istruzione InputBox:

  • Prompt: "Posso sapere il tuo nome completo?"
  • Titolo: "Informazioni personali"
  • Predefinito: “Inizia a digitare qui

Codice:

 Sub InputBoxEX () InputBox "Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui" Termina sub 

  • Premere F5 o il pulsante Esegui per eseguire questo codice.

Come archiviare l'output di InputBox in celle?

Hai creato InputBox per ottenere l'input dall'utente. Tuttavia, dove verrà archiviato l'output? Non abbiamo menzionato alcuna posizione in cui l'output può essere archiviato.

Memorizziamo l'output che otteniamo da InputBox per eccellere nelle celle seguendo i passaggi seguenti in VBA:

  • Dichiarare una nuova variabile "Nome" con il tipo come "Variante". Questo tipo di variabile può assumere qualsiasi valore (numerico / stringa / logico ecc.).

Codice:

 Sub InputBoxEX () Nome Dim come variante fine sub 

  • Utilizzare InputBox per assegnare un valore a questa variabile denominata "Nome".

Codice:

 Sub InputBoxEX () Nome Dim come Nome variante = InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui") Fine Sottotitoli 

Se avresti potuto notare la parentesi dopo l'istruzione InputBox, quelli sono necessari perché stiamo usando questa istruzione per una variabile "Nome". Non appena diventa un valore da assegnare per una variabile, deve essere menzionato in un formato appropriato tra parentesi.

  • Ora, qualunque sia il valore digitato dall'utente nella finestra di dialogo, vogliamo che venga visualizzato nella cella A1 del foglio di Excel. Inserire la seguente istruzione per lo stesso in VBE: Range ("A1"). Valore = Nome.

Codice:

 Sub InputBoxEX () Nome Dim come Nome variante = InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui") Intervallo ("A1"). Valore = Nome Fine Sottotitolo 

Ecco, ora eseguiamo questo codice e vediamo come funziona.

  • Fai clic sul pulsante Esegui o premi F5 per eseguire questo codice, otterrai la seguente finestra di dialogo. Scrivi il tuo nome nella finestra di dialogo visualizzata con il nome "Informazioni personali" e premi OK per vedere dove viene stampato l'output.

  • Non appena si inserisce il valore e si fa clic su OK, è possibile visualizzare il valore immesso nella cella A1. Vedi lo screenshot qui sotto.

Qualsiasi valore può essere memorizzato utilizzando InputBox se la variabile è definita correttamente. In questo caso, hai definito la variabile "Nome" come "Variante". Il tipo di dati variante può assumere qualsiasi valore di dati, come ho detto prima.

Vedi l'esempio seguente:

Sto dando un numero come argomento alla finestra di dialogo quando si apre. Vedi come sotto:

Fare clic su OK, vedere l'output di seguito:

Il valore nella cella A1 viene modificato in 2019.

Ora cambiamo il tipo di variabile in Data.

Codice:

 Sub InputBoxEX () Nome Dim come Data Nome = InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui") Intervallo ("A1"). Valore = Nome Fine Sottotitolo 

Esegui il codice e prova a inserire un valore diverso dalla data. Inserirò il mio nome stesso e fare clic su OK.

  • Dopo aver fatto clic su OK, viene visualizzato un messaggio di errore di runtime che dice "Tipo non corrispondente".

Si è verificato perché il tipo di nome della variabile è Data ora e ho fornito un argomento di input diverso dal valore della data (un nome stringa). A causa del quale questo codice non viene eseguito e genera un errore.

Convalida dell'input dell'utente

Cosa succede se ti dico che l'input dell'utente può essere limitato? Si è vero! È possibile limitare l'input dell'utente a Caratteri, Numeri o Logico, ecc.

Per limitare l'input dell'utente, è possibile utilizzare Application.InputBox.

La sintassi per Application.InputBox è la seguente:

Dove,

Prompt : messaggio che viene visualizzato per l'utente.

Titolo : titolo della finestra di dialogo.

Predefinito : valore predefinito che viene visualizzato nell'area di digitazione nella finestra di dialogo.

Tipo : il tipo di input.

Questi sono gli unici argomenti importanti che sono sufficienti per eseguire questa affermazione.

Cominciamo con questo esempio.

  • Dichiarare un nome variabile come variante.

Codice:

 Sub InputBoxEX () Nome Dim come variante fine sub 

Assegna Application.InputBox alla variabile denominata Nome con gli stessi argomenti di quelli che hai utilizzato InputBox. cioè Prompt, Title e Default. Vedi il codice qui sotto:

Codice:

 Sub InputBoxEX () Nome Dim come Nome variante = Application.InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui") Termina Sottotitolo 

Ora, inserisci la virgola 5 volte per ignorare il file Left, Top, HelpFile e HelpContextID. Dopo 5 virgole, è possibile specificare il tipo di input.

Codice:

 Sub InputBoxEX () Nome Dim come nome variante = Application.InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui",,,,, Termina sub 

Il tipo di stringa di input ha le convalide di seguito indicate:

  • Scegliamo 1 come Tipo nella nostra dichiarazione. Significa che solo i numeri / valori numerici sono accettabili nella finestra di dialogo che appare.

Codice:

 Sub InputBoxEX () Nome Dim come nome variante = Application.InputBox ("Posso sapere il tuo nome?", "Informazioni personali", "Inizia a digitare qui",,,,, 1) Termina sub 

  • Esegui il codice manualmente o utilizzando il tasto F5 e dai il nome come input nell'area di digitazione come mostrato di seguito. Quindi fare clic su OK e vedere l'output.

Dice che il numero non è valido. Ciò sembra logico perché abbiamo impostato il tipo di input variabile come numero e fornito il testo come input che non è accettabile dal sistema.

In questo modo, è possibile limitare l'utente a immettere solo i valori che si desidera visualizzare tramite InputBox.

Cose da ricordare

  • InputBox accetta fino a 255 argomenti e può visualizzare solo 254. Quindi sii cauto sulla lunghezza massima che un utente può inserire.
  • Il metodo di applicazione può essere utilizzato per impostare il tipo di dati di input. Tuttavia, se non viene utilizzato, è necessario essere più specifici sul tipo di dati di input.
  • Si consiglia di scegliere un tipo di dati variante in quanto può contenere qualsiasi valore Numerico / Testo / Logico ecc. B = Valori.

Articoli consigliati

Questa è stata una guida a VBA InputBox. Qui abbiamo discusso su come creare InputBox in Excel usando il codice VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come utilizzare la funzione FIND in Excel
  2. Creazione della funzione VBA in Excel
  3. Guida all'intervallo in Excel
  4. Come usare la funzione VBA VLOOKUP?

Categoria: