Vai al contenuto principale

Come selezionare più elementi dall'elenco a discesa in una cella in Excel?

L'elenco a discesa viene spesso utilizzato nel lavoro quotidiano di Excel. Per impostazione predefinita, è possibile selezionare un solo elemento in un elenco a discesa. Ma in alcuni momenti, potrebbe essere necessario selezionare più elementi dall'elenco a discesa in una singola cella come mostrato nell'immagine sottostante. Come puoi gestirlo in Excel?

doc seleziona più elementi dall'elenco a discesa 1 doc freccia destra doc seleziona più elementi dall'elenco a discesa 2

Seleziona più elementi dall'elenco a discesa in una cella con VBA

Seleziona più elementi dall'elenco a discesa in una cella in modo facile e veloce


Seleziona più elementi dall'elenco a discesa in una cella con VBA

Ecco alcuni VBA che possono farti un favore nel risolvere questo lavoro.

Seleziona gli elementi duplicati dall'elenco a discesa in una cella

1. Dopo aver creato un elenco a discesa, fare clic con il pulsante destro del mouse sulla scheda del foglio per selezionare Visualizza codice dal menu di scelta rapida.
doc seleziona più elementi dall'elenco a discesa 3

2. Quindi in Microsoft Visual Basic, Applications Edition finestra, copia e incolla sotto il codice nello script vuoto.

VBA: seleziona più elementi dall'elenco a discesa in una cella

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

3. Salvare il codice e chiudere la finestra per tornare all'elenco a discesa. Ora puoi selezionare più elementi dall'elenco a discesa.

Nota:

1. Con il VBA, separa gli elementi per spazio, è possibile modificare xStrNew = xStrNew & "" & Target.Value ad altri per cambiare il delimitatore di cui hai bisogno. Per esempio, xStrNew = xStrNew & "," & Target.Value separerà gli elementi con virgole.

2. Questo codice VBA funziona per tutti gli elenchi a discesa nel foglio.

Seleziona più elementi dall'elenco a discesa in una cella senza ripetere

Se desideri solo selezionare elementi unici dall'elenco a discesa a una cella, puoi ripetere i passaggi precedenti e utilizzare il codice sottostante.

VBA : Seleziona più elementi dall'elenco a discesa in una cella senza ripetere

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim I As Integer
    Dim xRgVal As Range
    Dim xStrNew As String
    Dim xStrOld As String
    Dim xFlag As Boolean
    Dim xArr
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xFlag = True
    xStrNew = " " & Target.Value & " "
    Application.Undo
    xStrOld = Target.Value
    If InStr(1, xStrOld, xStrNew) = 0 Then
        xStrNew = xStrNew & xStrOld & " "
    Else
        xStrNew = xStrOld
    End If
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub

Entrambi i codici VBA sopra non supportano l'eliminazione di parti del contenuto della cella, supportano solo la cancellazione di tutti gli elementi della cella.


Seleziona più elementi dall'elenco a discesa in una cella in modo facile e veloce

In Excel, ad eccezione del codice VBA, non ci sono altri modi per consentire più elementi selezionati dall'elenco a discesa in una cella. comunque, il Elenco a discesa a selezione multipla caratteristica di Kutools for Excel può gestire rapidamente e facilmente questo lavoro con i clic.

Consiglio: prima di applicare questo strumento, installa prima Kutools per Excel. Vai al download gratuito ora.
Passaggio 1: selezionare Kutools > Elenco a discesa > Elenco a discesa a selezione multipla
Passaggio 2: nella finestra di dialogo Elenco a discesa a selezione multipla, specificare le impostazioni
  1. Imposta ambito;
  2. Specificare il separatore per delimitare gli elementi in una cella;
  3. Decidi la direzione del testo;
  4. Fare clic su OK.
    doc selezionare più elementi dall'elenco a discesa kte 1
Risultato:

seleziona più elementi dall'elenco a discesa kutools

Note:: Per utilizzare la funzione Elenco a discesa a selezione multipla, è necessario installare prima Kutools per Excel, per favore fai clic per scaricare e avere una prova gratuita di 30 giorni ora.

Crea facilmente un elenco a discesa dipendente dinamico a 2 o più livelli in Excel

In Excel, creare un elenco a discesa a 2 o più livelli è complesso. Qui il file Elenco a discesa dinamico utilità di Kutools for Excel posso farti un favore. Quello che devi solo fare è ordinare i dati come mostrato nell'esempio, quindi selezionare l'intervallo di dati e l'intervallo di output, quindi lasciarlo all'utilità.  Fai clic per una prova gratuita di 30 giorni!
doc advanced combina righe
 
Kutools per Excel: con oltre 300 pratici componenti aggiuntivi di Excel, provabili gratuitamente senza limitazioni in 30 giorni.

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Como posso utilizar a função com a planilha bloqueada?
This comment was minimized by the moderator on the site
Hi, Macros, try below code, it supports to select multi items in drop down list in protected sheet.
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next  
    xType = 0
    xType = Target.Validation.Type
    If xType <> 3 Then Exit Sub
    If (Target.Count > 1) Then Exit Sub

    If Target.Value = "" Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    If xStrNew = Target.Value Then
    Else
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    End If
    Application.EnableEvents = True
End Sub

And also Kutools for Excel 26.1 and later versions supports this job in protected sheet.
This comment was minimized by the moderator on the site
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

Ejemplo:
Mi texto para la lista es:
TRAMITAR ESTE ASUNTO
COORDINAR
ANALIZAR Y RECOMENDAR

sí selecciono:
TRAMITAR ESTE ASUNTO
ANALIZAR Y RECOMENDAR

me aparece
ANALIZAR Y RECOMENDAR, TRAMITAR ESTE ASUNTO

o sea, los de abajo me aparecen primero, pero quiero que sea en el orden en que voy seleccionando...
TRAMITAR ESTE ASUNTO, ANALIZAR Y RECOMENDAR.....
This comment was minimized by the moderator on the site
Hi, Gorgelys, Kutools's multi-select drop down list can help you. The items you selected will be in the order like you want.
This comment was minimized by the moderator on the site
the code works but won't let me delete can someone please post the new code.
This comment was minimized by the moderator on the site
bonjour,
selon le premier exemple tout fonctionne très bien jusqu'à ce que je verrouille la feuille.
quand la feuille est verrouillée, je n'ai plus le choix multiple !
comment faire ?
merci par avance
This comment was minimized by the moderator on the site
Hi, sorry for that. We will upgrade our feature next version to avoid this problem. Thank you for your feekback.
This comment was minimized by the moderator on the site
Merci bcp
Mais à quand la nouvelle version ?
This comment was minimized by the moderator on the site
Hi, we have updated this version for you, but this is a beta version, please download it from this: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
If there are any problems, welcome for your feedback.
This comment was minimized by the moderator on the site
Merci,
Je vais la télécharger et essayer.
Bonne journée
This comment was minimized by the moderator on the site
Hi, the new version is in planning, since next version will upgrade multiple features, it may take somewhat time.
This comment was minimized by the moderator on the site
Hi! Como puedo usar este codigo para todo un worksheet y no solo para una pestana?
This comment was minimized by the moderator on the site
Hi, Vero, Kutools for Excel's Multi-select Drop-down List feature suports selecting multiple items from drop down list in the whole worksheet or across workbook, just specify the Specified Scope in the Multi-select Drop-down List Settings dialog.
This comment was minimized by the moderator on the site
How can I do that for the fist formula you provided :) Thanks in advanced!
This comment was minimized by the moderator on the site
Quando quero deletar alguma opção ou todas dá erro. Como posso resolver?
This comment was minimized by the moderator on the site
I am also finding that after selecting multiple items using the updated VBA code, I still cannot clear the cell, it just keeps multiplying.
Does anyone have a solution for this yet?
This comment was minimized by the moderator on the site
Hi, Rusty, the code I have updated for making it more stable. But because the cell is in data validation, blank is out of data validation, the code cannot solve this problem.
This comment was minimized by the moderator on the site
the code works but carries over across all cells and multiplies in the cells and wont allow delete can you assist?
This comment was minimized by the moderator on the site
If I create a sheet with dropdown list using checkboxes, is there a way to share this workbook with this checkboxes feature?
This comment was minimized by the moderator on the site
How would you apply this functionality but making it so that there aren't redundant values? Any help would be appreciated!
This comment was minimized by the moderator on the site
I used this "Select multiple items from drop down list to a cell without repeat"
this is what happened
1. Multiple selections happen without problems.
2. The issue is when i try to edit and remove an option. There is no way for me to remove an option. it keeps multiplying.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations