Casella di riepilogo VBA

In VBA, puoi creare un Casella di riepilogo dove un utente può scegliere una delle opzioni elencate. La casella di riepilogo viene spesso utilizzata nei moduli utente, ma può anche essere utilizzata in un foglio di lavoro. In questo tutorial imparerai come creare, popolare ed eliminare una casella di riepilogo. Vedrai anche come ottenere una scelta utente in VBA e utilizzarla nel codice.

Se vuoi imparare come creare un ComboBox, clicca qui: ComboBox VBA

Se vuoi imparare come creare una casella di controllo, fai clic qui: Casella di controllo VBA

Crea una casella di riepilogo

Per inserire una casella di riepilogo nel foglio di lavoro, è necessario accedere a Scheda Sviluppatore, clicca Inserire e in Controlli ActiveX scegli Casella di riepilogo:

Immagine 1. Inserisci una casella di riepilogo nel foglio di lavoro

Quando selezioni la casella di riepilogo che hai inserito, puoi fare clic su Proprietà sotto il Scheda Sviluppatore:

Immagine 2. Modifica proprietà casella di riepilogo

Qui puoi impostare diverse proprietà della Listbox. Per l'inizio, abbiamo cambiato l'attributo Nome a lstListBox. Ora possiamo usare la Listbox con questo nome nel codice VBA.

Popolare una casella di riepilogo nel codice VBA

Per prima cosa, dobbiamo popolare la Listbox con i valori. Nella maggior parte dei casi, una casella di riepilogo deve essere popolata all'apertura della cartella di lavoro. Per questo motivo, dobbiamo inserire un codice per popolare la casella di riepilogo nell'oggetto cartella di lavoro, procedura Aprire. Questa procedura viene eseguita ogni volta che un utente apre la cartella di lavoro. Ecco il codice:

123456789 Con Sheet1.lstListBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Termina con

Come puoi vedere nell'immagine 3, abbiamo popolato la nostra Listbox con 5 nomi (John, Michael, Jennifer, Lilly e Robert):

Immagine 3. Popolare la casella di riepilogo in VBA

Popolare una casella di riepilogo da un intervallo di celle

Un altro modo possibile per popolare una casella di riepilogo è lasciare che un utente lo faccia. Una casella di riepilogo può essere collegata all'intervallo di celle. Pertanto, ogni volta che un utente immette un nuovo valore nell'intervallo di celle, la casella di riepilogo si aggiornerà con quel valore.

Se vuoi abilitarlo, devi andare su Proprietà del ListBox e impostare l'attributo ListFillRange:

Immagine 4. Popolare la casella di riepilogo dall'intervallo di celle

Abbiamo collegato la nostra Listbox con l'intervallo E2:E5, dove mettiamo i nomi che vogliamo (Nathan, Harry, George, Roberta). Di conseguenza, la casella di riepilogo ora viene popolata con questi nomi.

Ottieni un elemento selezionato di una casella di riepilogo in VBA

Lo scopo di una Listbox è ottenere una scelta da parte degli utenti. Per recuperare un valore selezionato da un utente, è necessario utilizzare questo codice:

123 Dim strSelectedItem As VariantstrSelectedItem = Sheet1.lstListBox.Value

La selezione degli utenti è nell'attributo Valore di Foglio1.lstListbox oggetto. Questo valore è assegnato alla variabile strSelectedItem:

Immagine 5. Ottieni un valore selezionato dalla casella di riepilogo in VBA

Abbiamo selezionato Harry nella Listbox ed eseguito la procedura. Come puoi vedere nell'immagine 5, il valore di strSelectedItem è Harry, che è il valore che abbiamo selezionato. Inoltre, puoi elaborare questa variabile nel codice.

Cancella una casella di riepilogo

Per cancellare una casella di riepilogo in VBA, è necessario utilizzare Chiaro metodo di Foglio1.lstListBox oggetto. Eliminerà tutti gli elementi dalla casella di riepilogo. Ecco il codice:

1 Sheet1.lstListBox.Clear

Quando eseguiamo il codice, otteniamo la Listbox vuota:

Immagine 6. Cancella la casella di riepilogo

Usa una casella di riepilogo in un modulo utente

Come accennato, Listbox è più spesso utilizzato in Userforms. Per spiegare come puoi farlo, inseriremo prima un Userform. Nell'editor VBA, fare clic con il pulsante destro del mouse su Nome modulo, fare clic su Inserire e scegli Modulo utente:

Immagine 7. Inserisci un modulo utente

Per visualizzare i controlli per l'inserimento, è necessario abilitare il Cassetta degli attrezzi. Per farlo, clicca suCassetta degli attrezzi icona nella barra degli strumenti. Successivamente, otterrai le finestre con tutti i controlli disponibili. Puoi cliccare su ListBox per crearlo nel form utente.

Immagine 8. Inserisci una casella di riepilogo nel modulo utente

Chiameremo il ComboBox cmbComboBox. Per popolarlo con i valori, dobbiamo inserire il seguente codice nel metodo Inizializzare dell'oggetto Modulo utente:

12345678910111213 Private Sub UserForm_Initialize()Con UserForm1.lstListBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Termina conFine sottotitolo

Questo codice si attiva ogni volta che un utente esegue il form utente e popola la casella di riepilogo con questi 5 nomi:

Immagine 9. La casella di riepilogo con i valori nel modulo utente

Se si desidera ottenere il valore selezionato dal ComboBox, è necessario utilizzare la stessa logica per il Combobox in un foglio di lavoro, come spiegato in precedenza nell'articolo.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave