Excel vba listbox get selected value
i è la variabile utilizzata per scorrere gli elementi della ListBox. Quando si fa riferimento a un elemento all’interno del ciclo, si utilizza questa variabile. Viene utilizzata nelle due spiegazioni successive per ottenere informazioni sugli elementi durante il ciclo.
Nel file di esempio di questa esercitazione è inclusa un’altra riga di codice che inserisce tutti gli elementi selezionati nella colonna B del foglio di lavoro. Questa riga di codice ha l’aspetto seguente (anch’essa si trova all’interno del ciclo For):
Non è necessario creare due sezioni di codice separate per una casella di riepilogo per verificare se consente selezioni singole o multiple. Si può sempre usare il ciclo nella seconda sezione qui sopra e funzionerà in tutti i casi.
Il metodo per fare qualcosa con le selezioni multiple può sembrare un po’ complicato, ma basta cambiare il nome della ListBox con il nome di quella utilizzata e tutto dovrebbe funzionare.
Excel vba popola la casella di riepilogo dalla colonna
Forse si desidera selezionare il primo o l’ultimo elemento di una casella di riepilogo attraverso la generazione di codice. È possibile che quando si seleziona il foglio venga selezionato il primo elemento della casella di riepilogo. Oppure si può desiderare che venga selezionato l’ultimo elemento. In ogni caso, la codifica è molto simile. A questo punto è sufficiente decidere il trigger per la casella di riepilogo stessa. La prima procedura selezionerà il primo elemento di una casella di riepilogo facendo clic sul pulsante di comando (un pulsante macro).
Come funzionano le procedure? Esse partono dal presupposto di contare tutti gli elementi dell’elenco nella casella di riepilogo. Nel primo esempio viene utilizzato un semplice ciclo per iniziare dal fondo e risalire fino alla cima dell'”albero” della casella di riepilogo.For i = Listbox1.Listcount – 1Che equivale a direFor i = 6 to 0 È importante ricordare che il conteggio dell’elenco della casella combinata inizia da zero (0).L’elenco è composto da 7 elementi in totale (la lunghezza della casella combinata). Il passo – 1 indica al ciclo di togliere 1 da i per ogni iterazione del ciclo stesso. Il seguente file Excel mostra come funziona la procedura sopra descritta.Listboxes.xlsm
Excel vba listbox elemento selezionato
La ListBox di Excel VBA è un controllo di elenco che consente di selezionare (o deselezionare) uno o più elementi alla volta. Rispetto alla ComboBox VBA, che consente solo di selezionare un singolo elemento da un elenco a discesa, la ListBox VBA è un controllo che permette di selezionare uno o più elementi alla volta. Vediamo come creare, cancellare e far sì che una ListBox VBA permetta di selezionare più elementi.
Per creare una ListBox di un modulo Excel, è necessario innanzitutto assicurarsi di visualizzare la scheda Sviluppatore. Passate quindi a Controlli e selezionate la Casella di riepilogo. Posizionare la casella di riepilogo sul foglio di lavoro. È possibile fare clic con il pulsante destro del mouse su di essa per impostarne le proprietà.
L’uso della casella di riepilogo del modulo non ha molto senso, in quanto esiste la convalida dei dati che consente di impostare un elenco a discesa su qualsiasi cella di Excel. Se volete vedere quanto può essere potente questo sistema, consultate il mio post sulle Cascading Drop-downs di Excel. Attenzione, negli esempi che seguono sto usando invece l’ActiveX ListBox!
Ora analizziamo l’aggiunta di elementi a una casella di riepilogo utilizzando VBA. A questo scopo è più facile e conveniente utilizzare un controllo ListBox ActiveX (che io chiamo ListBox VBA) invece del ListBox Form usato in precedenza:
Excel vba popola la casella di riepilogo da un intervallo
Questa pagina mostra esempi su come riempire e gestire le caselle di riepilogo nelle proprie userform. Mostra anche come preselezionare gli elementi dell’elenco. Per provare il codice, evidenziatelo con il mouse, copiatelo (CTRL+C) e incollatelo (CTRL+V) nel codice della userform.
Se volete giocare con noi mentre procediamo, è il momento giusto per aprire Excel e l’editor VBA (ALT+F11) e inserire una nuova Userform. Aggiungete una casella di riepilogo e un pulsante di comando. Fate clic sulla forma utente e premete F7 per aprire la finestra del codice. A questo punto siete pronti.
Invece di definire una sorgente di righe nel foglio di calcolo, è possibile aggiungere gli elementi uno per uno con il metodo AddItem. È possibile farlo manualmente o con un ciclo in cui si legge da un intervallo, una collezione o simili.
Se si desidera un elenco senza duplicati (e magari anche in ordine alfabetico) con un intervallo come origine, si inizia creando una raccolta come descritto in fondo alla pagina Come creare le proprie raccolte in VBA Excel (raccolta avanzata).
Immaginiamo di aver chiamato la nostra raccolta “colLista”. Poi creiamo il nostro elenco come di seguito. Per far funzionare il codice è necessario dichiarare colList come una collezione e scrivere la procedura (qui: “MakeCollection”) che crea la nostra collezione.