Cum să creați o listă derulantă în Excel cu selecții multiple

  • Imparte Asta
Hugh West

Până în prezent, ne-am uitat la cum să creați liste derulante în Excel. Astăzi voi arăta cum să creați o listă derulantă cu selecții multiple în Excel .

Descărcați caietul de practică

Puteți descărca caietul de practică de aici.

Crearea listei derulante cu selecție multiplă.xlsm

Proceduri pas cu pas pentru a crea o listă derulantă în Excel cu selecții multiple

Aici, avem un set de date care are o coloană Numele cărții care conține câteva nume de cărți. Obiectivul nostru de astăzi este de a crea o listă derulantă bazată pe acest set de date care să accepte mai multe selecții. Voi arăta procedurile pas cu pas în secțiunea de mai jos.

PASUL 1: Creați o listă derulantă utilizând validarea datelor

Pentru a crea o listă derulantă cu selecții multiple, trebuie să creăm mai întâi o listă derulantă. Să trecem în revistă procedurile.

  • Mai întâi, selectați celula în care doriți să creați lista derulantă. Eu am selectat Celula D5 .

  • În continuare, mergeți la Date și selectați Validarea datelor de pe panglică.

  • Apoi, de la Validarea datelor selectați Lista în Permiteți și scrieți celulele intervalului ale căror date doriți să le adăugați la listă în secțiunea Sursa domeniu.
  • Alternativ, puteți face clic pe mica săgeată în sus din fereastra Sursa și selectați intervalul de date din foaia de calcul.

  • În cele din urmă, vom vedea o listă derulantă creată în Celula D5 .

Lecturi similare:

  • Cum se face o listă derulantă în Excel (independentă și dependentă)
  • Efectuați selecția multiplă din lista derulantă în Excel (3 moduri)
  • Cum să creați o listă derulantă dependentă în Excel
  • Creați lista derulantă în mai multe coloane în Excel (3 moduri)

PASUL 2: Activarea listei derulante pentru a accepta selecția multiplă prin cod VBA

Am creat deja lista derulantă. Acum, este timpul să pregătim lista derulantă pentru selecții multiple. Voi folosi 2 VBA coduri pentru a permite listei să accepte selecții multiple. Unul va accepta repetarea datelor, iar altul nu va accepta repetarea datelor.

Cazul 1: Cod VBA pentru selecții multiple cu repetiție

În această secțiune, voi arăta modul de creare a unei liste derulante cu selecții multiple, care va avea o repetiție de date.

Să trecem în revistă procedurile.

  • În primul rând, apăsați ALT + F11 pentru a deschide fereastra VBA fereastră.
  • Apoi, selectați Proiect Explorer . De asemenea, dublu - click pe foaia în care doriți ca sarcina să fie efectuată.

  • În același timp, un Cod se va deschide o fereastră.
  • După aceea, scrieți următorul cod în fereastra respectivă.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Notă: În partea de cod ( Dacă Target.Address = "$D$5" Apoi ) în loc de referință de celulă $D$5, scrieți referința celulei în care ați creat lista derulantă.

  • În cele din urmă, reveniți la foaia de lucru și vom putea selecta mai multe elemente din lista derulantă cu o repetiție a aceluiași element.

Cazul 2: Cod VBA pentru selecția multiplă fără repetiție

În această secțiune, voi arăta cum se poate crea o listă derulantă cu selecții multiple care nu va necesita o repetare a datelor.

Să trecem în revistă procedurile.

  • În primul rând, apăsați ALT + F11 pentru a deschide fereastra VBA fereastră.
  • Apoi, selectați Proiect Explorer . De asemenea, dublu - click pe foaia în care doriți ca sarcina să fie efectuată.

  • În același timp, un Cod va apărea o fereastră.
  • După aceea, introduceți următorul cod în fereastra respectivă.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Notă: În partea de cod ( Dacă Target.Address = "$D$5" Apoi ) în loc de referință de celulă $D$5, scrieți referința celulei în care ați creat lista derulantă.

  • În cele din urmă, reveniți la foaia de lucru și vom putea selecta mai multe elemente din lista derulantă fără a repeta același element.

Concluzie

Folosind această metodă, puteți crea o listă derulantă în Excel cu selecții multiple. Aveți întrebări? Nu ezitați să ne spuneți în secțiunea de comentarii. Vizitați pagina noastră de ExcelWIKI Website pentru mai multe articole referitoare la Excel .

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.