Sommario
Quando si lavora su un insieme di dati di grandi dimensioni, spesso diventa difficile ricavarne un valore selettivo. Inoltre, non è possibile scegliere più informazioni contemporaneamente. In questo caso, ListBox è una soluzione molto utile in Excel Ma il processo di creazione di questo ListBox Per questo motivo, in questo articolo, impareremo a creare una multi-selezione ListBox in excel con alcuni semplici passaggi.
Scarica il quaderno di esercizi
Ottenere il file di esempio per esercitarsi.
Casella di riepilogo a selezione multipla.xlsmProcedure passo-passo per creare ListBox a selezione multipla in Excel
Per semplificare il processo, lo abbiamo suddiviso in 8 Perciò, senza ulteriori indugi, vediamo come creare una multi-selezione ListBox in Excel.
Passo 1: Creare una tabella Excel dal set di dati
Inizialmente, è necessario preparare un set di dati di esempio e convertirlo in una tabella. Per farlo, seguire i passaggi seguenti.
- Per prima cosa, creare un set di dati con le informazioni di 10 Nomi di città e le loro Popolazione totale del STATI UNITI D'AMERICA fino a 1, luglio nel Intervallo di cellule B5:C14 .
- A questo punto, fare clic su una cella qualsiasi del set di dati e scegliere Tabella dal Inserire scheda.
- A questo punto, si vedrà il Crea tabella che seleziona automaticamente l'intervallo di celle per creare una tabella.
- In questa finestra, contrassegnare la casella di controllo La mia tabella ha intestazioni e premere OK .
- Il risultato è che il set di dati viene convertito in una tabella.
- Insieme ad essa, è possibile trovare la tabella nella sezione Nome della tabella sotto la casella Design del tavolo scheda
- È possibile modificare il nome della tabella in base alle proprie preferenze.
Per saperne di più: Come creare un elenco a discesa dipendente in Excel
Passo 2: Denominazione dell'elenco di set di dati dal gestore dei nomi
A questo punto, si darà un nome a ciascuna categoria di intervallo di celle della tabella. A tale scopo, procedere come segue.
- Per prima cosa, selezionare una cella qualsiasi da Colonna B nella tabella.
- Quindi, andare alla sezione Formule e selezionare Definire il nome .
- In seguito, verrà visualizzata la schermata Nuovo nome finestra di dialogo.
- In questa finestra di dialogo, fornire un nome qualsiasi in base all'intestazione della colonna selezionata nel campo Nome scatola.
- Successivamente, fare clic sul pulsante Si riferisce a nella stessa finestra.
- Quindi, posizionare il cursore sull'intestazione e verrà visualizzata una freccia nera.
- Successivamente, premere il tasto sinistro del mouse per selezionare la voce Intervallo di cellule B5:B14 .
- Di conseguenza, si vedrà l'elenco dei nomi insieme al nome della tabella nella finestra di dialogo Si riferisce a e premere OK .
- Seguire la stessa procedura, per il Gamma di cellule C5:C14 anche.
- Infine, si vedranno i nomi nella finestra Scatola del nome nell'angolo superiore sinistro della cartella di lavoro.
Passo 3: Creare un elenco a discesa con convalida dei dati
A questo punto, si creerà un elenco a discesa con gli intervalli nominati e con la convalida dei dati. Questa è la parte essenziale della creazione di un file ListBox Lo creeremo in un altro foglio di lavoro della cartella di lavoro, ma è possibile farlo anche nello stesso foglio di lavoro. Vediamo di seguito il procedimento.
- All'inizio, selezionare alcune celle della tabella in cui si desidera applicare Convalida dei dati .
- Quindi, andare alla sezione Dati e scegliere Convalida dei dati nel Strumenti per i dati sezione.
- Successivamente, nella Impostazioni selezionare la scheda Elenco nel Consentire scatola.
- Inoltre, il marchio ha controllato il Ignorare il vuoto e Discesa a tendina all'interno della cella scatole.
- Successivamente, fare clic sul pulsante Fonte in questa finestra e premere F3 sulla tastiera.
- Di conseguenza, verrà visualizzata la dicitura Nome dell'impasto con l'elenco dei nomi.
- Qui, scegliere Nomi di città dall'elenco e premere OK .
- A questo punto, il nome del primo elenco verrà visualizzato nella casella di origine.
- Infine, premere OK e applicare la stessa procedura per il secondo elenco di nomi.
- Infine, si vedrà che Convalida dei dati viene attivato sulle celle selezionate.
Passo 4: inserimento del codice VBA nel foglio di lavoro convalidato
Ora viene la parte cruciale dell'inserimento di VBA per creare un file ListBox Di seguito viene descritto il procedimento da seguire.
- Innanzitutto, fare clic con il tasto destro del mouse sul foglio di lavoro convalidato e selezionare Codice dal Menu contestuale .
- Quindi, inserire questo codice nella pagina.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub
- Successivamente, andare alla sezione Inserire e selezionare Modulo .
- A questo punto, il nome della cartella di lavoro deve essere selezionato nella finestra di dialogo Oggetto del progetto finestra.
- Quindi, rinominare il modulo come modImpostazioni e inserire questo codice.
Opzione Esplicita Globale strDVList Come Stringa
Grazie a Contesti per aver fornito i codici.
Passo 5: Creare un modulo utente con caselle di riepilogo e pulsanti
In questa fase, si creerà un file Modulo utente per la cartella di lavoro insieme a un file ListBox e alcuni Pulsanti di comando Per farlo, seguire la procedura descritta di seguito.
- Per prima cosa, selezionare la cartella di lavoro nel menu Progetto-VBAProgetto nella finestra Visual Basic redattore.
- Quindi, andare alla sezione Inserire e selezionare Modulo utente .
- Di conseguenza, si otterrà il Modulo utente interfaccia come questa.
- Oltre a questo, riceverete anche il Cassetta degli attrezzi finestra.
- Da qui, trascinare ListBox alla Modulo utente .
- Poi, il ListBox È possibile regolare le dimensioni trascinando i bordi del riquadro.
- Successivamente, trascinare il campo CommanButton due volte a Modulo utente anche per creare 2 pulsanti per il funzionamento.
- Infine, l'output finale si presenta come segue.
Passo 6: Modifica delle impostazioni delle proprietà
In questa fase, si apporteranno alcune modifiche alle proprietà di ogni componente di ListBox .
- All'inizio, premere F4 sul Visual Basic per aprire l'editor Finestra delle proprietà .
- Quindi, selezionare la voce Modulo utente e cambiare il Nome e Didascalia in questo modo.
- Successivamente, selezionare ListBox e cambiare il Nome in base alle proprie preferenze.
- Inoltre, cambiare il tipo di Stile di lista , MultiSelect e Effetto speciale come da immagine sottostante.
- Ora, scegliete il primo pulsante di comando e apportate le seguenti modifiche alle proprietà.
- Inoltre, modificare anche le proprietà del secondo pulsante di comando.
Passo 7: Applicazione del codice VBA a UserForm
In questa fase, applicheremo VBA codici a ciascuno dei componenti del Modulo utente Vediamo come funziona.
- Per prima cosa, selezionare Modulo utente e andare al Vista per selezionare Codice .
- Inserite quindi questo codice nella pagina vuota, che verrà eseguito automaticamente quando la pagina Modulo utente è aperto.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- Dopo di che, tornare alla schermata Modulo utente facendo clic su Oggetto sul Vista scheda.
- Ora, seguire la procedura per inserire questo codice per il file OK pulsante.
Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub
- Insieme a questo, digitate questo codice per il file Chiudere utilizzando lo stesso procedimento.
Private Sub cmdClose_Click() Scaricatemi End Sub
- Infine, premere Ctrl + S per salvarlo e chiudere la finestra.
Grazie a Contesti per averci aiutato con i codici.
Passo 8: Selezione multipla da ListBox
Infine, abbiamo creato con successo un oggetto ListBox Per verificare se il codice funziona o meno, basta seguire questi passaggi.
- Per prima cosa, selezionare Cellula B5 dove abbiamo applicato Convalida dei dati .
- Subito dopo, un ListBox apparirà il comando Selezionare una voce dall'elenco .
- In questa finestra è possibile scegliere più di un nome dall'elenco.
- Quindi, premere OK .
- Infine, è stata effettuata con successo la multiselezione dal file ListBox e ogni nome è separato da un Virgola ( , ).
Cose da ricordare
- Intervalli denominati non creerà un file Convalida dei dati se sono inseriti come riferimento di cella o con delimitatori.
- Il Variabile globale viene applicato sia per Modulo utente e Foglio di lavoro VBA Qualsiasi nome di cella attivo passa inizialmente il codice strDVList a un intervallo temporaneo e poi viene utilizzato come un Sorgente fila per il ListBox quando un utente apre la finestra Modulo utente .
- È possibile combinare più intervalli in un unico nome per facilitare la selezione.
Conclusione
Questo è tutto per oggi. Spero che questi lunghi ma semplici passaggi su come creare ListBox a selezione multipla in excel hanno reso l'argomento un po' più semplice per voi. Fateci sapere il vostro feedback nel box dei commenti. seguite ExcelWIKI per altri articoli come questo.