Skip to main content

Come popolare una casella di testo in base alla selezione di una casella combinata nel UserForm in Excel?

Author: Siluvia Last Modified: 2025-08-06

Supponiamo che tu abbia una tabella contenente una colonna Nome e una colonna Numero personale, come mostrato nello screenshot sottostante. Ora devi creare un Userform con una casella combinata che raccolga tutti i nomi e una casella di testo che popolerà il corrispondente numero del personale quando si seleziona un nome dalla casella combinata. Il metodo descritto in questo articolo può aiutarti a realizzarlo.

A screenshot showing a table with Name and Staff Number columns in Excel

Popola la casella di testo in base alla selezione della casella combinata nel Userform con VBA


Popola la casella di testo in base alla selezione della casella combinata nel Userform con VBA

Procedi come segue per popolare la casella di testo con il valore corrispondente in base alla selezione della casella combinata nel Userform.

1. Premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Userform. Vedi screenshot:

A screenshot showing how to insert a UserForm in Excel VBA

3. Quindi inserisci un controllo Casella combinata e un controllo Casella di testo all'interno del Userform creato, come mostrato nello screenshot sottostante.

A screenshot of a UserForm in Excel with a ComboBox and TextBox added

4. Fai clic con il tasto destro su uno spazio vuoto del Userform, quindi clicca su Visualizza Codice dal menu contestuale. Vedi screenshot:

A screenshot showing how to open the code window for the UserForm in Excel VBA

5. Nella finestra Userform (Codice) che si apre, copia e incolla il seguente codice VBA per sostituire quello originale.

Codice VBA: Popola la casella di testo in base alla selezione della casella combinata nel Userform

Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
    Set xRg = Worksheets("Sheet5").Range("A2:B8")
    Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
    Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub

Nota: Nel codice, A2:B2 è l'intervallo dati che contiene i valori che popolerai separatamente nella casella combinata e nella casella di testo del Userform. Sheet5 è il nome del foglio di lavoro che contiene l'intervallo dati. Modificali secondo necessità.

6. Premi i tasti Alt + Q per uscire dalla finestra Microsoft Visual Basic for Applications.

7. Clicca su Sviluppatore > Inserisci > Pulsante di comando (Controllo ActiveX) per inserire un pulsante di comando nel foglio di lavoro.

8. Fai clic con il tasto destro sulla scheda del foglio e seleziona Visualizza Codice dal menu contestuale. Quindi copia e incolla il codice VBA nella finestra del codice.

Codice VBA: Mostra userform

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9. Disattiva la Modalità Progettazione nel foglio di lavoro.

Clicca sul pulsante di comando per aprire il userform specificato. Potrai vedere che tutti i nomi sono stati raccolti nella casella combinata. Quando selezioni un nome dalla casella combinata, il corrispondente numero del personale verrà automaticamente popolato nella casella di testo, come mostrato nello screenshot sottostante.

A screenshot showing the UserForm with ComboBox selection populating the TextBox in Excel


Articoli correlati:

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!