Rhestr gwympo gydag aml-ddethol

Mae'r gwymplen glasurol mewn taflen Excel yn wych, ond dim ond un opsiwn y mae'n ei ganiatáu o'r set a gyflwynir. Weithiau dyma'r union beth rydych chi ei eisiau, ond mae yna sefyllfaoedd lle mae angen i'r defnyddiwr allu dewis rhai elfennau o'r rhestr.

Gadewch i ni edrych ar sawl gweithrediad nodweddiadol o restr aml-ddethol o'r fath.

Opsiwn 1. Llorweddol

Mae'r defnyddiwr yn dewis eitemau o'r gwymplen fesul un, ac maent yn ymddangos i'r dde o'r gell yn cael ei newid, gan gael eu rhestru'n llorweddol yn awtomatig:

Mae rhestrau cwymplen yng nghelloedd C2:C5 yn yr enghraifft hon yn cael eu creu mewn ffordd safonol, h.y

  1. dewiswch gelloedd C2:C5
  2. tab neu ddewislen Dyddiad dewis tîm Dilysu Data
  3. yn y ffenestr sy'n agor, dewiswch opsiwn rhestr a nodi fel ystod ffynhonnell celloedd gyda data ffynhonnell ar gyfer rhestr A1:A8

Yna mae angen ichi ychwanegu macro i'r modiwl taflen, a fydd yn gwneud yr holl brif waith, hy ychwanegu gwerthoedd dethol i'r dde o'r celloedd gwyrdd. I wneud hyn, de-gliciwch ar y tab dalen gyda rhestrau cwympo a dewiswch y gorchymyn Cod ffynhonnell. Gludwch y cod canlynol i'r ffenestr golygydd Visual Basic sy'n agor:

Is-Daflen Waith Breifat_Newid(ByVal Targed Fel Ystod) Ar Gwall Ail-ddechrau Nesaf Os Ddim yn Croestorri(Targed, Ystod ("C2:C5")) Yn Dim A Target.Cells.Count = 1 Yna Application.EnableEvents = Gau Os Nad yw Len(Target.Offset) (0, 1)) = 0 Yna Target.Offset(0, 1) = Targed Arall Target.End(xlToRight).Offset(0, 1) = Diwedd y Targed Os Target.ClearContents Application.EnableEvents = Diwedd Gwir Os Diwedd Is  

Os oes angen, disodli ystod sensitif y cwymplenni C2:C5 yn ail linell y cod hwn gyda'ch un chi.

Opsiwn 2. Fertigol

Yr un peth ag yn y fersiwn flaenorol, ond nid yw'r gwerthoedd dethol newydd yn cael eu hychwanegu i'r dde, ond i'r gwaelod:

Fe'i gwneir yn union yr un ffordd, ond mae cod macro y triniwr yn newid ychydig:

Is-Daflen Waith Breifat_Change(ByVal Target As Range) Ar Gwall Ail-ddechrau Nesaf Os Ddim yn Croestorri(Targed, Ystod ("C2:F2")) Yn Dim Ac Target.Cells.Count = 1 Yna Application.EnableEvents = Gau Os Nad yw Len(Target.Offset) (1, 0)) = 0 Yna Target.Offset(1, 0) = Targed Arall Target.End(xlDown).Offset(1, 0) = Diwedd Targed Os Target.ClearContents Application.EnableEvents = Diwedd Gwir Os Diwedd Is  

Unwaith eto, os oes angen, disodli ystod sensitif y cwymplenni C2:F2 gyda'ch un chi yn ail linell y cod hwn.

Opsiwn 3. Gyda chroniad yn yr un gell

Yn yr opsiwn hwn, mae'r cronni yn digwydd yn yr un gell lle mae'r gwymplen wedi'i lleoli. Mae'r elfennau a ddewiswyd yn cael eu gwahanu gan unrhyw nod penodol (er enghraifft, coma):

Mae cwymplenni mewn celloedd gwyrdd yn cael eu creu mewn ffordd gwbl safonol, fel yn y dulliau blaenorol. Gwneir yr holl waith, unwaith eto, gan facro yn y modiwl taflen:

Is-Daflen Waith Breifat_Newid(Targed ByVal Fel Ystod) Ar Gwall Ail-ddechrau Nesaf Os Ddim yn Croestorri(Targed, Ystod ("C2:C5")) Yn Dim A Target.Cells.Count = 1 Yna Application.EnableEvents = False newVal = Targed Application.Undo oldval = Targed Os Len(oldval) <> 0 A oldval <> newVal Yna Targed = Targed & "," & newVal Arall Targed = newVal Diwedd Os Os Len(newVal) = 0 Yna Target.ClearContents Application.EnableEvents = Diwedd Gwir Os Diwedd Is  

Os dymunir, gallwch ddisodli'r cymeriad gwahanydd (coma) yn y 9fed llinell o god gyda'ch un chi (er enghraifft, gofod neu hanner colon).

  • Sut i greu cwymprestr syml mewn cell dalen excel
  • Rhestr gwympo gyda chynnwys
  • Rhestr gwympo gydag opsiynau coll wedi'u hychwanegu
  • Beth yw macros, sut i'w defnyddio, ble i fewnosod cod macro yn Visual Basic

Gadael ymateb