Akojọ sisọ silẹ pẹlu ọpọlọpọ-yan

Atokọ silẹ-isalẹ Ayebaye ninu iwe Excel jẹ nla, ṣugbọn o gba ọ laaye lati yan aṣayan kan lati ṣeto ti a gbekalẹ. Nigba miiran eyi jẹ deede ohun ti o fẹ, ṣugbọn awọn ipo wa nibiti olumulo nilo lati ni anfani lati yan diẹ ninu awọn eroja lati awọn akojọ.

Jẹ ki a wo ọpọlọpọ awọn imuṣẹ aṣoju ti iru atokọ yiyan pupọ.

Aṣayan 1. Petele

Olumulo naa yan awọn ohun kan lati inu atokọ jabọ-silẹ ni ọkọọkan, ati pe wọn han si apa ọtun ti sẹẹli ti o yipada, ni atokọ laifọwọyi ni petele:

Awọn atokọ silẹ-silẹ ninu awọn sẹẹli C2:C5 ni apẹẹrẹ yii ni a ṣẹda ni ọna boṣewa, ie

  1. yan awọn sẹẹli C2: C5
  2. taabu tabi akojọ data yan egbe Wiwulo Data
  3. Ninu ferese ti o ṣii, yan aṣayan kan List ki o si pato bi a ibiti o orisun awọn sẹẹli pẹlu data orisun fun atokọ A1: A8

Lẹhinna o nilo lati ṣafikun Makiro si module dì, eyiti yoo ṣe gbogbo iṣẹ akọkọ, ie ṣafikun awọn iye ti a yan si apa ọtun ti awọn sẹẹli alawọ ewe. Lati ṣe eyi, tẹ-ọtun lori taabu dì pẹlu awọn atokọ jabọ-silẹ ki o yan aṣẹ naa Orisun orisun. Lẹẹmọ koodu atẹle yii sinu ferese olootu Ipilẹ wiwo ti o ṣii:

Ikọkọ Sub Worksheet_Change(ByVal Target Bi Range) Lori Aṣiṣe Tun bẹrẹ Ti Ko ba ṣe Intersect (Àfojúsùn, Range("C2:C5")) Ṣe Ko si Nkan Ati Target.Cells.Count = 1 Lẹhinna Application.EnableEvents = Eke If Len(Target.Offset) (0, 1)) = 0 Lẹhinna Target.Offset(0, 1) = Àkọlé Else Target.Opin(xlToRight)  

Ti o ba jẹ dandan, rọpo iwọn ifura ti awọn atokọ jabọ-silẹ C2: C5 ni laini keji ti koodu yii pẹlu tirẹ.

Aṣayan 2. Inaro

Kanna bi ninu ẹya ti tẹlẹ, ṣugbọn awọn iye ti a yan tuntun ko ni afikun si apa ọtun, ṣugbọn si isalẹ:

O ti ṣe ni ọna kanna, ṣugbọn koodu macro oluṣakoso yipada diẹ:

Ikọkọ Sub Worksheet_Change(ByVal Target Bi Range) Lori Aṣiṣe Tun bẹrẹ Ti Ko ba ṣe Intersect(Àfojúsùn, Range("C2:F2")) Ṣe Ko si Nkan Ati Target.Cells.Count = 1 Lẹhinna Application.EnableEvents = Eke If Len(Target.Offset) (1, 0)) = 0 Lẹhinna Target.Offset(1, 0) = Àkọlé Else Target.Ipari(xlDown).Offset(1, 0) = Ipari Ifojusi If Target.ClearContents Application.EnableEvents = Opin Otitọ Ti Ipari Sub  

Lẹẹkansi, ti o ba jẹ dandan, rọpo aaye ifura ti C2:F2 awọn atokọ jabọ-silẹ pẹlu tirẹ ni laini keji ti koodu yii.

Aṣayan 3. Pẹlu ikojọpọ ninu sẹẹli kanna

Ni aṣayan yii, ikojọpọ waye ni sẹẹli kanna nibiti atokọ-silẹ wa. Awọn eroja ti o yan jẹ iyatọ nipasẹ eyikeyi ohun kikọ (fun apẹẹrẹ, komama):

Awọn atokọ silẹ-isalẹ ni awọn sẹẹli alawọ ewe ni a ṣẹda ni ọna boṣewa patapata, bi ninu awọn ọna iṣaaju. Gbogbo iṣẹ naa ni a ṣe, lẹẹkansi, nipasẹ Makiro ninu module dì:

Ikọkọ Sub Worksheet_Change(ByVal Target Bi Range) Lori Aṣiṣe Tun bẹrẹ Ti Ko ba Ijakadi (Àfojúsùn, Range("C2:C5")) Ṣe Ko si Nkan Ati Target.Cells.Count = 1 Lẹhinna Application.EnableEvents = False newVal = Ohun elo Àkọlé.Yipada oldval = Àkọlé If Len(oldval) <> 0 And oldval <> newVal Nigbana ni Target = Target & "," & newVal Else Target = newVal End If If Len(newVal) = 0 Lẹhinna Target.ClearContents Application.EnableEvents = Otitọ Ipari Ti Ipari Sub  

Ti o ba fẹ, o le rọpo ohun kikọ iyapa (koma) ni laini koodu 9th pẹlu tirẹ (fun apẹẹrẹ, aaye kan tabi olominira kan).

  • Bii o ṣe le ṣẹda atokọ ju silẹ ti o rọrun ninu sẹẹli dì Excel kan
  • Akojọ silẹ pẹlu akoonu
  • Akojọ sisọ silẹ pẹlu awọn aṣayan sonu ti a ṣafikun
  • Kini macros, bii o ṣe le lo wọn, nibo ni lati fi koodu macro sii ni Ipilẹ wiwo

Fi a Reply