Come popolare una casella di testo in base alla selezione di una casella combinata nel UserForm in Excel?
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.
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:
3. Quindi inserisci un controllo Casella combinata e un controllo Casella di testo all'interno del Userform creato, come mostrato nello screenshot sottostante.
4. Fai clic con il tasto destro su uno spazio vuoto del Userform, quindi clicca su Visualizza Codice dal menu contestuale. Vedi screenshot:
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.
Articoli correlati:
- Come popolare una casella combinata con dati specificati all'apertura della Cartella di lavoro?
- Come popolare automaticamente altre celle quando si selezionano valori in una lista a discesa di Excel?
- Come popolare automaticamente altre celle quando si selezionano valori in una lista a discesa di Excel?
- Come popolare i risultati della ricerca di Google in un foglio di lavoro di Excel?
I migliori strumenti per la produttività in Office
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!