In questo articolo voglio mostrarti come aggiungere una ComboBox Excel VBA in una UserForm Excel.
Una ComboBox Excel è una casella combinata che potrai aggiungere a una maschera utente (in inglese UserForm) di inserimento dati.
In altri termini si tratta di un menu a tendina da cui potrai selezionare dei valori.
In questo articolo imparerai quattro semplici modi per aggiungere valori a una ComboBox Excel con il VBA.

Come aggiungere una ComboBox Excel VBA

Inserire una ComboBox in una UserForm Excel è semplicissimo. È sufficiente selezionare la Casella combinata dalla Casella degli strumenti e trascinarla sulla UserForm.
Passiamo all'aspetto più importante: l’inserimento dei dati in una ComboBox.
Dobbiamo fare in modo di popolare di elementi la ComboBox in modo che sia possibile selezionarne uno quando viene attivata.
Aggiungere valori a una ComboBox
Esistono modi differenti per aggiungere elementi a una ComboBox. In particolare vedremo quattro metodi: uno che non richiede l’utilizzo delle macro Excel e tre attraverso l’utilizzo del codice VBA.
Inserire valori a una ComboBox senza il VBA
La prima modalità non richiede l’utilizzo del linguaggio delle macro.
Vediamo come procedere.
Innanzitutto, creiamo un elenco di valori all'interno di un intervallo di celle Excel. Ad esempio, l’intervallo di celle A2:A11.

Ora ritorniamo sull'Editor VB di Excel.

Fai un clic sulla UserForm, quindi seleziona la ComboBox.
Dalla finestra Proprietà (in basso a sinistra) scorri verso il basso fino a RowSource. Qualora la finestra Proprietà non fosse visibile, premi il tasto funzione F4.
A questo punto, inserisci riferimento all'intervallo di dati.
Ti suggerisco di aggiungere anche il riferimento al foglio di lavoro prima del riferimento all'intervallo. Se omesso, Excel suppone che l'intervallo sia quello del foglio di lavoro attivo ovvero quello in cui ti trovi quando avvii la UserForm.

Se non vuoi che l'utente sia in grado di visualizzare o modificare questo elenco, potrai inserirlo in un foglio di lavoro nascosto.
Come vedi, questo è un modo molto semplice per aggiungere valori a una ComboBox Excel. Non è necessario utilizzare alcuna istruzione VBA.
Inserire valori a una ComboBox con il VBA
Ora vediamo due metodi per aggiungere valori ad una ComboBox Excel che necessitano dell’utilizzo della codifica VBA.
Vai alla finestra dell’Editor VB e fai un clic con il tasto destro del mouse sulla UserForm.
Successivamente fai clic su Visualizza codice dal menu contestuale.

In alternativa, puoi scegliere di premere il tasto destro sulla UserForm dalla finestra Progetto. Il risultato sarà identico.

A prescindere dalla modalità utilizzata, ti troverai davanti una finestra simile.

L’evento associato alla UserForm potrebbe essere UserForm_Click. Ciò significa che il codice che inserirai al suo interno sarà eseguito ogni volta che fai un clic sulla UserForm. Nello specifico, i valori nella ComboBox saranno aggiunti ad ogni clic.
Questo evento non fa al caso nostro. Pertanto seleziona l’evento Initialize dal menu a tendina Routine sulla destra.

Ora tra le due righe di codice andremo ad inserire le istruzioni necessarie.
Il codice VBA verrà eseguito all'avvio o all'apertura della UserForm.
Pertanto i valori saranno aggiunti alla ComboBox quando si apre la UserForm.
Aggiungere valori a una ComboBox: metodo AddItem
La prima opzione che ti mostrerò per aggiungere valori a una ComboBox è con l’utilizzo del codice VBA attraverso il metodo AddItem.

Il codice VBA da utilizzare sarà il seguente:

Questo metodo ti consente di aggiungere tutti i valori che inserisci tra le doppie virgolette.
Per semplificare la lettura e favorire la comprensione del codice VBA ti suggerisco di utilizzare l'istruzione With … End With.
Il metodo AddItem è probabilmente il più intuitivo e facile da capire. È sicuramente utile per elenchi di piccole dimensioni. Se al contrario disponi di un elenco ampio questo metodo NON è adatto.
Aggiungere valori a una ComboBox: proprietà List
Stavolta, in questa nuova opzione, faremo ricorso alla proprietà List della ComboBox.

Questa opzione non è difficile da capire anche se non si presta a grandi elenchi. Segui la sintassi dell'esempio indicato sotto.

La proprietà List aggiunge gli elementi presenti nell'Array (detto anche vettore o matrice). Array è la funzione utilizzata per creare un array dagli elementi per l'elenco.
Aggiungere valori a una ComboBox: proprietà RowSource
Quest’ultima opzione è esattamente identica alla prima mostrata in questo articolo ma con l’utilizzo del VBA.
L’utilizzo della proprietà RowSource ti consente di specificare il riferimento al foglio di lavoro e all'intervallo di celle.

Il codice VBA è il seguente:

Indipendentemente dall'opzione utilizzata, il risultato finale sarà il seguente:

Come vedi, ci sono modi differenti per aggiungere valori a una ComboBox Excel VBA. Potrai scegliere quello che per te funziona meglio!
Spero l’articolo ti sia utile.
Buon lavoro!
Vuoi saperne di più sul linguaggio VBA Excel?
Allora potrebbero interessarti i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!