Àkópọ̀ sẹ́ẹ̀lì (àkópọ̀)

Awọn akoonu

Nigbagbogbo, ipo kan waye nigbati a nilo lati ṣe akopọ (akojọpọ) awọn iye pupọ ti a tẹ sinu sẹẹli kan:

Awon. Ti, fun apẹẹrẹ, tẹ nọmba 1 sii ninu sẹẹli A5, lẹhinna nọmba 1 yẹ ki o han ni B15. Ti o ba tẹ nọmba 1 sii ni A7, lẹhinna 1 yẹ ki o han ninu sẹẹli B22, ati bẹbẹ lọ. Ni gbogbogbo, kini awọn oniṣiro (ati kii ṣe wọn nikan) pe lapapọ lapapọ.

O le ṣe imuse iru sẹẹli-accumulator ipamọ ni lilo Makiro ti o rọrun. Tẹ-ọtun lori taabu dì nibiti awọn sẹẹli A1 ati B1 wa ki o yan lati inu atokọ ọrọ-ọrọ Ọrọ orisun (koodu orisun). Ninu ferese olootu Ipilẹ Visual ti o ṣii, daakọ ati lẹẹ koodu macro ti o rọrun naa:

Ikọkọ Sub Worksheet_Change (ByVal Target Bi Excel.Range) Pẹlu Àkọlé If .Address (False, False) = "A1" Lẹhinna Ti IsNumeric (.Iye) Lẹhinna Ohun elo.EnableEvents = Eke Range ("A2") .Iye = Range(" A2").Iye + .Ohun elo Iye.EnableEvents = Ipari Otitọ Ti Ipari Ti O ba Pari Pẹlu Ipari Ipari  

Awọn adirẹsi ti awọn sẹẹli A1 ati A2, dajudaju, le paarọ rẹ pẹlu tirẹ.

Ti o ba nilo lati tọpa titẹsi data ki o ṣe akopọ kii ṣe awọn sẹẹli kọọkan, ṣugbọn gbogbo awọn sakani, lẹhinna macro yoo ni lati yipada diẹ:

Ikọkọ Sub Worksheet_Change (ByVal Target Bi Excel.Range) Ti Ko ba ṣe Intersect (Àkọlé, Ibiti ("A1: A10")) Ṣe Ko si Nkankan lẹhinna Ti o ba jẹ Numeri (Target.Value) Lẹhinna Ohun elo.EnableEvents = Eke Target.Offset(0, 1) .Iye = Àfojúsùn  

A ro pe data ti wa ni titẹ sii ninu awọn sẹẹli ti ibiti A1: A10, ati awọn nọmba ti a tẹ ni akopọ ni apa ọtun. Ti o ba jẹ pe ninu ọran rẹ ko wa nitosi, lẹhinna mu iyipada si apa ọtun ninu oniṣẹ aiṣedeede - rọpo 1 pẹlu nọmba ti o tobi julọ.

  • Kini awọn macros, nibo ni lati fi koodu macro sii ni VBA, bawo ni a ṣe le lo wọn?

Fi a Reply