InputBox VBA

InputBox VBA di Excel

VBA InputBox è una funzione incorporata utilizzata per ottenere un valore dall'utente, questa funzione ha due argomenti principali in cui uno è l'intestazione per la casella di input e un altro è la domanda per la casella di input, la funzione della casella di input può memorizzare solo i tipi di dati inseriti che può contenere variabile.

Spesso in Excel utilizziamo i dati che sono già presenti nel foglio Excel. A volte abbiamo bisogno anche di qualche tipo di dati di input dagli utenti. Soprattutto in VBA, l'input dell'utente è spesso richiesto.

Utilizzando InputBox possiamo ottenere i dati dall'utente e utilizzarli per il nostro scopo. Un InputBox chiederà all'utente di inserire il valore visualizzando InputBox.

Sintassi

  • Prompt: questo non è altro che il messaggio all'utente tramite una casella di input.
  • Titolo: qual è il titolo della casella di immissione?
  • Predefinito: qual è il valore predefinito della casella di input? Questo valore viene visualizzato nell'area di digitazione della casella di immissione.

Questi tre parametri sono abbastanza buoni in Excel, ignora gli altri 4 parametri opzionali. Per comprendere questa sintassi guarda lo screenshot qui sotto.

Come creare InputBox in VBA?

Ok, passiamo subito alla praticità. Segui i passaggi seguenti per creare la tua prima casella di input.

Puoi scaricare questo modello Excel InputBox VBA qui - Modello Excel InputBox VBA

Passaggio 1: vai a VBE (Visual Basic Editor) e inserisci un nuovo modulo.

Passaggio 2: fare doppio clic sul modulo inserito e creare un nome macro.

Passaggio 3: inizia a digitare la parola "InputBox" e vedrai le opzioni correlate.

Passaggio 4: seleziona INPUTBOX e dai spazio e vedrai la sintassi della casella di input.

Passaggio 5: immettere il messaggio "Immettere il nome".

Passaggio 6: digitare il titolo della casella di input come "Informazioni personali".

Passaggio 7: digita il valore predefinito "Digita qui"

Passaggio 8: abbiamo finito. Esegui questo codice e vedi la tua prima casella di input.

Memorizza il valore di InputBox nelle celle

Ora passeremo attraverso il processo di memorizzazione dei valori nelle celle. Segui i passaggi seguenti.

Passaggio 1: dichiarazione della variabile come variante.

Codice:

 Sub InputBox_Example () Dim i As Variant End Sub 

Passaggio 2: per questa variabile assegnare il valore tramite la casella di input.

Codice:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Immettere il nome", "Informazioni personali", "Digitare qui") End Sub 

Nota: una volta che la casella di input arriva a destra del segno di uguale, dobbiamo inserire gli argomenti o la sintassi tra parentesi come le nostre formule regolari.

Passo 3: Ora qualunque sia il valore digitato nella casella di input, dobbiamo memorizzarlo nella cella A1. Quindi per questo scrivi il codice come Range ("A1"). Value = i

Codice:

 Sub InputBox_Example () Dim i As Variant i = InputBox ("Please Enter Your Name", "Personal Information", "Type Here") Range ("A1"). Value = i End Sub 

Ok, abbiamo finito. Eseguiamo ora questo codice premendo il tasto F5 oppure puoi anche eseguire il codice manualmente come mostrato nello screenshot qui sotto.

Non appena esegui questo codice, vedremo la casella di input.

Digita il nome e fai clic su Ok.

Non appena digiti il ​​nome e fai clic su OK, vedrai il valore della casella di input nella cella A1.

Nota: possiamo memorizzare qualsiasi valore dalla casella di input se la variabile è definita correttamente. Nell'esempio sopra, ho definito la variabile come Variant che può contenere tutti i tipi di dati.

Ad esempio, ora ho cambiato il tipo di variabile in Data.

Ora esegui il codice e digita diverso dalla data.

Fare clic su ok e vedere qual è la risposta.

Abbiamo ottenuto il valore di errore come Type mismatch . Poiché abbiamo dichiarato il tipo di dati della variabile come DATE, non possiamo memorizzare nient'altro che DATE con una casella di input.

Ora inserisci la data e guarda cosa succede.

Non appena si digita la data e quindi fare clic su OK e vedere qual è la risposta.

Poiché abbiamo inserito il valore corretto, abbiamo ottenuto il risultato nella cella.

Convalida dell'input dell'utente

Sai cosa possiamo effettivamente consentire agli utenti di inserire solo un valore specifico, ad esempio consentire all'utente di inserire solo testo, solo numero, solo valori logici e così via.

Per eseguire questa operazione, è necessario utilizzare il metodo Application.InputBox.

Diamo un'occhiata alla sintassi di Application.InputBox.

 

  • Prompt: questo non è altro che il messaggio all'utente tramite una casella di input.
  • Titolo: qual è il titolo della casella di immissione?
  • Predefinito: qual è il valore predefinito della casella di input? Questo valore viene visualizzato nell'area di digitazione della casella di immissione.
  • A sinistra: quale dovrebbe essere la posizione x della casella di input nella finestra corrente?
  • Top: What should be the y position of the inputbox in the current window?

To start this inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application put a dot (.) and type Inputbox.

Select input box and open the bracket.

As usual enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

So, accordingly, select your type. I have selected 1 as the parameter i.e. only numbers.

Now run the code and type of text value.

Click on OK and see what happens.

It says the number is not valid. So we can enter only numbers in this input box.

Things to Remember

  • We need a variable to store the value given by the input box.
  • If you are using InputBox without the Application method then you should be perfect about the variable data type.
  • Use Variant data type which can hold any kind of data type and stores.