VBA InputBox - Ottieni input da un utente in una macro - Esempi di codice VBA

Questo tutorial dimostrerà come ottenere input da un utente con VBA Input Box.

Il Casella di immissione VBA ci consente di richiedere all'utente di inserire informazioni. Le informazioni possono quindi essere utilizzate nel nostro codice VBA o in un foglio di lavoro Excel.

La casella di input VBA con una variabile

Possiamo dichiarare una variabile nel nostro codice VBA che quindi memorizza le informazioni che vengono digitate nella casella di input. Possiamo quindi utilizzare questa variabile nel nostro codice.

A seconda del tipo di informazione che vogliamo restituire dalla casella di input, possiamo dichiarare un tipo specifico di variabile per restituire del testo (una variabile stringa o variante) o per restituire un numero (una variabile intera, lunga, doppia o singola).

La variabile stringa con una casella di input

Ecco come creare un InputBox in cui i dati vengono restituiti in una variabile stringa.

123 Dim strInput come stringastrInput = InputBox ("Questo è il mio InputBox", "MyInputTitle", "Inserisci il testo di input QUI")

Notare che prima dichiariamo una variabile. A questa variabile verrà assegnato il valore inserito dall'utente. Abbiamo utilizzato il tipo di variabile String affinché la casella di input accetti stringhe di testo (che include qualsiasi carattere alfanumerico).

La variabile numerica con una casella di input

Se dichiari una variabile numerica, dovrai inserire un numero solo nella casella di input.

12 Dim iInput As IntegeriInput = InputBox("Inserisci un numero", "Crea numero fattura", 1)

Per prima cosa dichiariamo la variabile numero come una variabile intera. Possiamo quindi anche inserire un valore predefinito di 1 nella casella di input.

Se dovessimo inserire una stringa invece di un numero e quindi fare clic su OK, otterremmo un errore di mancata corrispondenza del tipo poiché una variabile numerica non accetta una stringa.

Ottieni input da un utente

Ecco un altro esempio che utilizza le funzionalità più popolari di un InputBox.

Il codice seguente fa tre cose:

1. Richiede l'input con un InputBox e lo assegna a una variabile

2. Verifica input, altrimenti esce dal sub

3. Restituisce l'input in una finestra di messaggio

12345678910111213 Sub pubblico MyInputBox()Dim MyInput As StringMyInput = InputBox ("Questo è il mio InputBox", "MyInputTitle", "Inserisci il testo di input QUI")Se MyInput = "Inserisci il testo di input QUI" O MyInput = "" AlloraEsci SottoFinisci seMsgBox "Il testo di MyInputBox è " & MyInputFine sottotitolo

Restituire l'input a un foglio Excel

Puoi restituire l'input digitato in una casella di input in una cella specifica nel foglio Excel.

1 Range("P1") = InputBox("Digita il tuo nome", "Inserisci nome", "Inserisci nome QUI")

Possiamo anche restituire i dati di input a un foglio Excel utilizzando una variabile.

12345678910 Sub InvioNumero()In caso di errore Riprendi AvantiDim dblAmount As DoubledblAmount = InputBox("Inserisci l'importo richiesto", "Inserisci importo")Se dblAmount 0 AlloraIntervallo("A1") = dblAmountAltroMsgBox "Non hai inserito un numero!"Finisci seFine sottotitolo

Nell'esempio sopra, ci viene richiesto di inserire un numero. Se inseriamo un numero, la variabile dblAmount inserirà il numero nel foglio Excel nella cella A1. Tuttavia, se non inseriamo un numero, una finestra di messaggio ci dirà che non abbiamo inserito un numero e non verrà inserito nulla nella cella A1.

Utilizzo di VBA InputBox in Access VBA

La casella di input VBA funziona esattamente allo stesso modo in Access come in Excel quando si restituisce l'input dell'utente sotto forma di finestra di messaggio.

Tuttavia, se si desidera restituire l'input dell'utente al database, è necessario utilizzare l'oggetto Recordset anziché l'oggetto Range come utilizzato in Excel.

1234567891011121314 Sub EnterNumeroFattura()Dim dbs come databaseDim prima come RecordsetImposta dbs = CurrentDbSet rst = dbs.OpenRecordset("tblMatters", dbOpenDynaset)con prima.Aggiungere nuova!InvNo = InputBox("Inserire il numero della fattura", "GENERAZIONE DEL NUMERO DI FATTURA", 1).AggiornareTermina conprimo.ChiudiImposta primo = NienteImposta dbs = NienteFine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave