UserForm con menu a tendina dipendenti VBA Excel 

 Settembre 15, 2025

By  Damiano Causale

  • Home
  • Blog
  • UserForm con menu a tendina dipendenti VBA Excel

In questo articolo ti mostrerò come creare una UserForm con menu a tendina (ComboBox) dipendenti con il linguaggio VBA Excel.

Creare ComboBox dipendenti in Excel con il VBA significa che la selezione fatta in una ComboBox influenza le opzioni disponibili in quella successiva.

Prosegui nella lettura e ti mostrerò come fare passo dopo passo.

Passaggi per creare una UserForm con ComboBox dipendenti

Partiamo dal primo passo ovvero la creazione della UserForm.

Innanzitutto, è necessario aprire l'Editor di VBA.

Per far questo utilizza la scorciatoia da tastiera Alt + F11 o in alternativa premi il tasto destro del mouse sull’etichetta di qualsiasi foglio di lavoro e seleziona la voce Visualizza codice.

Inserire una UserForm

Ora inserisci una UserForm. Fai clic sul menu Inserisci e poi seleziona UserForm.

Inserire una UserForm VBA Excel

Aggiungere le ComboBox nella UserForm

A questo punto, utilizzando la Casella degli strumenti aggiungi nella UserForm le due ComboBox (Casella combinata) che rappresentano i menu a tendina.

Se la Casella degli strumenti non viene visualizzata automaticamente, fai clic sul menu Visualizza e seleziona la voce Casella degli strumenti.

Aggiungere le ComboBox nella UserForm VBA Excel

Cliccando sul controllo Casella combinata presente nella Casella degli strumenti, aggiungi le caselle combinate trascinando nella UserForm la prima (ComboBox1) a sinistra e la seconda (ComboBox2) a destra.

Una volta completata questa operazione, il risultato sarà simile all’immagine seguente.

Aggiungere le ComboBox nella UserForm

Ora, supponi di avere la ComboBox1 per selezionare un reparto aziendale (ad esempio: Amministrazione, Risorse Umane, Magazzino, …).

Mentre la ComboBox2 verrà utilizzata per selezionare i nomi dei dipendenti sulla base del reparto aziendale selezionato nella ComboBox1.

Potrai eventualmente modificare i nomi delle ComboBox.

I nomi vengono utilizzati nel codice VBA di Excel.

In questo esempio sono presenti pochi controlli, tuttavia ti suggerisco di modificarne i nomi in presenza di molti controlli per facilitare l’individuazione ed il riferimento durante la scrittura del codice.

Per modificare i nomi della UserForm e delle ComboBox, fai clic sul menu Visualizza e successivamente su Finestra Proprietà (F4 se vuoi utilizzare una scorciatoia da tastiera) e quindi modifica il nome di ciascun controllo.

Scrittura del codice VBA per visualizzare la UserForm

Ora passiamo alla scrittura del codice VBA.

Prima però inserisci un pulsante nel foglio di lavoro come mostrato nella seguente immagine.

Il pulsante verrà utilizzato per visualizzare la UserForm.

Scrittura del codice VBA per visualizzare la UserForm

Il codice andrà inserito in un modulo, pertanto, dal menu Inserisci seleziona la voce Modulo.

All’interno del Modulo1 aggiungi il seguente codice.

Scrittura del codice VBA per visualizzare la UserForm VBA Excel

Infine, assegna la macro al pulsante presente nel foglio.

Potrebbe interessarti il seguente articolo: Macro Excel: assegnare macro a un pulsante

Scrittura del codice VBA per popolare la prima casella combinata (ComboBox1)

Una volta assegnata la macro al pulsante potrai visualizzare la UserForm1 ogni volta che farai clic su di esso.

Ora dobbiamo decidere cosa mostrare appena viene visualizzata la UserForm.

Fai clic con il pulsante destro del mouse su UserForm1 e quindi seleziona la voce Visualizza codice.

Selezionare Userform dall'elenco a discesa a sinistra. Successivamente seleziona Initialize dall'elenco a discesa a destra.

Scrittura del codice VBA per popolare la prima casella combinata (ComboBox1)

Ora aggiungi le seguenti righe di codice:

Scrittura del codice VBA per popolare la prima casella combinata (ComboBox1) VBA Excel

Queste righe di codice sono utili per popolare la prima casella combinata (ComboBox1).

Al momento, quando selezioniamo un elemento dalla prima ComboBox1, non succederà ancora nulla.

Passiamo pertanto alla scrittura del codice relativo alla seconda casella combinata (ComboBox2).

Scrittura del codice VBA per popolare la seconda casella combinata (ComboBox2)

Ora ti mostrerò come inserire il codice VBA per popolare la seconda casella combinata (ComboBox2).

Poiché si tratta di menu a tendina dipendenti è necessario gestire gli elementi visualizzati nella ComboBox2 sulla base della selezione della casella combinata ComboBox1.

Per far questo sarà necessario sfruttare l’evento ComboBox1_Change della ComboBox1. Ciò significa che al cambiamento della selezione della prima casella combinata verranno aggiunti i valori nella seconda ComboBox2.

Nella finestra Gestione progetti presente a sinistra, fai doppio clic su UserForm1.

Successivamente, fai doppio clic sulla ComboBox1 e aggiungi il seguente codice:

Scrittura del codice VBA per popolare la seconda casella combinata (ComboBox2)

Il codice VBA appena inserito utilizza il valore della variabile denominata Indice per analizzare ciascuna istruzione Case e individuare quali elementi inserire nella seconda casella combinata (ComboBox2).

Il primo valore della variabile è uguale a zero. Il second valore sarà uguale a 1 e così via.

Potrebbe interessarti il seguente articolo: Select Case VBA: istruzione condizionale

Infine, fai una verifica per controllare che tutto funzioni correttamente.

Fai un clic sul pulsante presente sul foglio di lavoro in modo da visualizzare la UserForm contenente le caselle combinate dipendenti.

Seleziona una voce nella prima ComboBox, ad esempio la voce Magazzino. Ora nella seconda ComboBox dovresti visualizzare i nomi associati a quella voce ovvero Anna, Antonio, Elisa.

Il risultato finale sarà simile alla seguente immagine.

UserForm con menu a tendina dipendenti VBA Excel

A questo punto, se hai seguito tutti i passaggi suggeriti avrai la tua UserForm con i menu a tendina dipendenti.

Potrebbe interessarti i seguenti articoli:

Porta le tue competenze di Excel al livello successivo con il corso Excel macro e VBA!

Se desideri portare le tue competenze di Excel al livello successivo, scopri il potere delle Macro Excel per automatizzare le tue attività lavorative con il corso Excel Macro e VBA.

Vuoi approfondire le tue conoscenze su Excel?

ISCRIVITI ALLA NEWSLETTER

Il docente


Se hai trovato questo articolo interessante sentiti libero di condividerlo con i tuoi amici o colleghi di lavoro.

È un piccolo regalo che spero ti aiuti a migliorare le competenze in Excel.

Continua a seguirmi sul mio blog per ricevere altri utili suggerimenti.


Grazie per il tuo sostegno!

Damiano Causale

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati con un asterisco (*).

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

PROGRAMMA DEL CORSO

powerq