Dropdown nga lista nga adunay daghang pagpili

Ang klasiko nga drop-down nga lista sa usa ka Excel sheet maayo, apan gitugotan ka lamang nga makapili usa ka kapilian gikan sa gipresentar nga set. Usahay mao gyud kini ang imong gusto, apan adunay mga sitwasyon diin ang tiggamit kinahanglan nga makapili sa pipila ka mga mga elemento gikan sa lista.

Atong tan-awon ang pipila ka mga tipikal nga pagpatuman sa ingon nga usa ka multi-pinili nga listahan.

Opsyon 1. Horizontal

Ang user mopili sa mga butang gikan sa drop-down list sa tinagsa, ug kini makita sa tuo sa cell nga giusab, awtomatik nga gilista horizontally:

Ang mga lista sa drop-down sa mga cell C2: C5 niini nga pananglitan gihimo sa usa ka standard nga paagi, ie

  1. pilia ang mga selula C2:C5
  2. tab o menu Data pagpili og team Pagpanghimatuud sa Data
  3. sa bintana nga moabli, pagpili og opsyon Ilista ang ug ipiho isip usa ka range tinubdan mga selula nga adunay tinubdan nga datos alang sa listahan A1:A8

Unya kinahanglan nimo nga idugang ang usa ka macro sa module sa sheet, nga buhaton ang tanan nga panguna nga trabaho, ie pagdugang mga pinili nga kantidad sa tuo sa berde nga mga selyula. Aron mahimo kini, pag-klik sa tuo sa tab nga sheet nga adunay mga lista sa drop-down ug pilia ang mando Source code. Idikit ang mosunod nga code sa Visual Basic editor window nga moabli:

Private Sub Worksheet_Change(ByVal Target As Range) Sa Error Ipadayon Sunod Kung Dili Intersect(Target, Range("C2:C5")) Wala Ug Target.Cells.Count = 1 Unya Application.EnableEvents = False Kung Len(Target.Offset (0, 1)) = 0 Dayon Target.Offset(0, 1) = Target Lain nga Target.End(xlToRight).Offset(0, 1) = Target End Kon Target.ClearContents Application.EnableEvents = True End If End Sub  

Kung gikinahanglan, ilisan ang sensitibo nga han-ay sa mga drop-down list nga C2:C5 sa ikaduhang linya niini nga code sa imong kaugalingon.

Opsyon 2. Bertikal

Parehas sa miaging bersyon, apan ang bag-ong gipili nga mga kantidad wala idugang sa tuo, apan sa ilawom:

Gihimo kini sa parehas nga paagi, apan ang handler macro code nagbag-o gamay:

Private Sub Worksheet_Change(ByVal Target As Range) Sa Error Ipadayon Sunod Kung Dili Intersect(Target, Range("C2:F2")) Wala Ug Target.Cells.Count = 1 Unya Application.EnableEvents = False Kung Len(Target.Offset (1, 0)) = 0 Dayon Target.Offset(1, 0) = Target Lain nga Target.End(xlDown).Offset(1, 0) = Target End Kon Target.ClearContents Application.EnableEvents = True End If End Sub  

Pag-usab, kung gikinahanglan, pulihan ang sensitibo nga han-ay sa C2:F2 nga mga drop-down nga lista sa imong kaugalingon sa ikaduhang linya niini nga code.

Opsyon 3. Uban sa panagtigum sa samang cell

Sa kini nga kapilian, ang pagtipon mahitabo sa parehas nga cell diin nahimutang ang drop-down list. Ang pinili nga mga elemento gibulag sa bisan unsang gihatag nga karakter (pananglitan, usa ka comma):

Ang mga lista sa drop-down sa berde nga mga selyula gihimo sa usa ka hingpit nga sumbanan nga paagi, sama sa miaging mga pamaagi. Ang tanan nga trabaho nahimo, pag-usab, pinaagi sa usa ka macro sa sheet module:

Private Sub Worksheet_Change(ByVal Target As Range) Sa Error Ipadayon Sunod Kung Dili Intersect(Target, Range("C2:C5")) Wala Ug Target.Cells.Count = 1 Unya Application.EnableEvents = False newVal = Target Application.Undo oldval = Target Kon Len(oldval) <> 0 Ug oldval <> newVal Unya Target = Target & "," & newVal Lain Target = newVal Katapusan Kon Kon Len(newVal) = 0 Dayon Target.ClearContents Application.EnableEvents = True End If Katapusan nga Sub  

Kung gusto, mahimo nimong ilisan ang karakter sa separator (comma) sa ika-9 nga linya sa code gamit ang imong kaugalingon (pananglitan, usa ka wanang o semicolon).

  • Giunsa paghimo ang usa ka yano nga drop down nga lista sa usa ka cell sa excel sheet
  • Lista sa dropdown nga adunay sulud
  • Dropdown nga lista nga adunay nawala nga mga kapilian nga gidugang
  • Unsa ang mga macros, unsaon paggamit niini, kung asa ibutang ang macro code sa Visual Basic

Leave sa usa ka Reply