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?
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.
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.
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
- Imposta ambito;
- Specificare il separatore per delimitare gli elementi in una cella;
- Decidi la direzione del testo;
- Fare clic su OK.
Risultato:
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! |
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
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...
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!