Note: The other languages of the website are Google-translated. Back to English

Cum se selectează mai multe articole din lista derulantă într-o celulă din Excel?

Lista derulantă este frecvent utilizată în activitatea zilnică Excel. În mod implicit, un singur element poate fi selectat într-o listă derulantă. Dar, în unele momente, poate fi necesar să selectați mai multe elemente din lista derulantă într-o singură celulă, așa cum este prezentat mai jos. Cum îl puteți gestiona în Excel?

doc selectați mai multe elemente din lista derulantă 1 doc săgeată dreapta doc selectați mai multe elemente din lista derulantă 2

Selectați mai multe elemente din lista derulantă într-o celulă cu VBA

Selectați mai multe articole din lista derulantă într-o celulă cu Kutools pentru Excel opțiunea la îndemână


Selectați mai multe elemente din lista derulantă într-o celulă cu VBA

Iată câteva VBA care vă pot face o favoare în rezolvarea acestui job.

Selectați elementele duplicate din lista derulantă dintr-o celulă

1. După crearea unei liste derulante, faceți clic dreapta pe fila de foaie pentru a selecta Afișați codul din meniul contextual.
doc selectați mai multe elemente din lista derulantă 3

2. Apoi în Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți codul de mai jos pe scriptul gol.

VBA: Selectați mai multe articole din lista derulantă dintr-o celulă

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. Salvați codul și închideți fereastra pentru a reveni la lista derulantă. Acum puteți selecta mai multe articole din lista derulantă.

Notă:

1. Cu VBA, separă articolele de spațiu, puteți schimba xStrNew = xStrNew & "" & Target.Value altora pentru a schimba delimitatorul după cum aveți nevoie. De exemplu, xStrNew = xStrNew & "," & Target.Value va separa articolele cu virgule.

2. Acest cod VBA funcționează pentru toate listele derulante din foaie.

Selectați mai multe elemente din lista derulantă într-o celulă fără repetare

Dacă doriți doar să selectați elemente unice din lista derulantă într-o celulă, puteți repeta pașii de mai sus și utilizați codul de mai jos.

VBA : Selectați mai multe elemente din lista derulantă într-o celulă fără repetare

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

Ambele coduri VBA de mai sus nu acceptă ștergerea părților din conținutul celulei, ci doar pentru a șterge toate elementele celulei.


Selectați mai multe articole din lista derulantă într-o celulă cu Kutools pentru Excel opțiunea la îndemână

Dacă nu sunteți familiarizat cu codul VBA, puteți instalare gratuită un instrument la îndemână - Kutools pentru Excel, care conține un grup de utilitare despre lista derulantă și există o opțiune Listă derulantă cu selectare multiplă vă poate ajuta să selectați cu ușurință mai multe elemente din lista derulantă într-o celulă.

După crearea listei derulante, selectați celulele listei derulante și faceți clic Kutools > Lista verticală > Listă derulantă cu selectare multiplă pentru a activa acest utilitar.
doc kutools listă derulantă selectare multiplă 1

Apoi, celulele listei derulante selectate pot fi selectate mai multe elemente în celulă.

Dacă utilizați această opțiune pentru prima dată, puteți specifica setările acestui utilitar după cum aveți nevoie înainte de a aplica acest utilitar.

Clic Kutools > Lista verticală > săgeata de lângă Listă derulantă cu selectare multiplă > setări cont.
doc kutools listă derulantă selectare multiplă 2

Apoi în Setări listă derulantă cu selectare multiplă dialog, puteți

1) Specificați domeniul de aplicare după cum aveți nevoie;

2) Specificați direcția locului articolelor;

3) Specificați separatorul între articole;

4) Specificați dacă nu adăugați duplicate și eliminați elementele duplicat.

Clic Ok și faceți clic Kutools > Lista verticală > Listă derulantă cu selectare multiplă pentru a-l face efect.

varful: Pentru a aplica Listă derulantă cu selectare multiplă utilitate, trebuie instala la început. Dacă doriți să creați o listă derulantă cu mai multe niveluri, utilitarul de mai jos vă poate ajuta.

Creați cu ușurință o listă drop-down dinamică cu 2 niveluri sau dependente de mai multe niveluri în Excel

În Excel, pentru a crea o listă verticală cu 2 niveluri sau cu mai multe niveluri este complex. Aici Listă derulantă dinamică utilitatea Kutools pentru Excel îți poate face o favoare. Ceea ce trebuie doar să faceți este să comandați datele ca exemplu, apoi selectați intervalul de date și intervalul de ieșire, apoi lăsați-l la utilitate.  Faceți clic pentru 30 zile de probă gratuită!
doc avansat combina rânduri
 
Kutools pentru Excel: cu peste 300 de programe de completare Excel la îndemână, puteți încerca gratuit fără limitare în 30 zile.

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (26)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
După adăugare, datele din meniul drop-down, ștergerea nu funcționează.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am gasit aceeasi problema. Cred că am găsit o modalitate de a o depăși. În partea de jos a codului, veți vedea codul „xStrNew = xStrOld”. În schimb, pune-l să spună xStrNew = " "

Merge pentru mine.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreo șansă să mai aveți acest cod? Încerc să fac ceea ce ai spus, dar textul încă se dublează.
mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Îmi pare rău, dar nu. Cu toate acestea, tocmai m-am uitat la codul de mai sus și se pare că autorul a editat codul cu sugestia mea.

postați problema dvs. pe firul principal al acestui articol.
Acest comentariu a fost redus la minimum de moderatorul de pe site
în primul cod adăugați următoarea linie între rândul 6 și 7 (10-11 în al doilea cod): Dacă Target.Value = "" Apoi Ieșiți din sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am folosit acest „Selectați mai multe elemente din lista derulantă într-o celulă fără repetare”
asta s-a intamplat
1. Selectările multiple au loc fără probleme.
2. Problema este când încerc să editez și să elimin o opțiune. Nu am cum să elimin o opțiune. se tot inmulteste.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum ați aplica această funcționalitate, făcând-o astfel încât să nu existe valori redundante? Orice ajutor ar fi apreciat!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dacă creez o foaie cu listă derulantă folosind casete de selectare, există o modalitate de a partaja acest registru de lucru cu această caracteristică de casete de selectare?
Acest comentariu a fost redus la minimum de moderatorul de pe site
De asemenea, constat că, după ce am selectat mai multe elemente folosind codul VBA actualizat, încă nu pot șterge celula, ci continuă să se înmulțească.
Are cineva vreo solutie pentru asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Rusty, codul pe care l-am actualizat pentru a-l face mai stabil. Dar deoarece celula este în validarea datelor, golul este în afara validării datelor, codul nu poate rezolva această problemă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
codul funcționează, dar se transferă peste toate celulele și se înmulțește în celule și nu va permite ștergerea, puteți ajuta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
When quero delletar algo opção ou todas dá erro. Cum pot rezolva?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună! Cum pot folosi acest cod pentru tot o fișă de lucru și nu numai pentru o pestană?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Vero, Caracteristica Lista derulantă cu selecție multiplă a lui Kutools pentru Excel acceptă selectarea mai multor elemente din lista derulantă din întreaga foaie de lucru sau din registrul de lucru, trebuie doar să specificați Sfera specificată în caseta de dialog Setări listă derulantă cu selecție multiplă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum pot face asta pentru formula de pumn oferită de tine :) Mulțumesc anticipat!
Acest comentariu a fost redus la minimum de moderatorul de pe 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 !
cum se face ?
mulțumesc anticipat
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, îmi pare rău pentru asta. Vom actualiza caracteristica noastră la următoarea versiune pentru a evita această problemă. Vă mulțumim pentru feedback.
Acest comentariu a fost redus la minimum de moderatorul de pe site
bcp vă mulțumesc
Mais à quand la noua versiune?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, noua versiune este în planificare, deoarece versiunea următoare va actualiza mai multe funcții, poate dura ceva timp.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, am actualizat această versiune pentru dvs., dar aceasta este o versiune beta, vă rugăm să o descărcați de aici: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
Dacă există probleme, bine ați venit pentru feedback-ul dvs.
Acest comentariu a fost redus la minimum de moderatorul de pe site
vă mulțumesc,
Je vais la télécharger et essayer.
Bonne Journée
Acest comentariu a fost redus la minimum de moderatorul de pe site
codul funcționează, dar nu mă lasă să șterg poate cineva să posteze noul cod.
Acest comentariu a fost redus la minimum de moderatorul de pe site
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

Exemplu:
Textul meu pentru lista este:
TRAMITAR ESTE ASUNTO
COORDINAR
ANALIZAR Y RECOMENDARE

și selecție:
TRAMITAR ESTE ASUNTO
ANALIZAR Y RECOMENDARE

Mi se pare
ANALIZAR Y RECOMENDAR, TRAMITAR ESTE ASUNTO

o sea, los de abajo me apar primero, pero quiero que sea en el orden en que voy selectând...
TRAMITAR ESTE ASUNTO, ANALIZAR Y RECOMENDAR.....
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Gorgelys, lista derulantă cu selecție multiplă a lui Kutools te poate ajuta. Articolele pe care le-ați selectat vor fi în ordinea dorită.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Como posso utiliza a função com a planilha blocada?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Macro-uri, încercați codul de mai jos, acceptă selectarea mai multor articole din lista verticală din foaia protejată.
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

Și, de asemenea, Kutools pentru Excel 26.1 și versiunile ulterioare acceptă această lucrare în foaie protejată.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL