Huina pūʻulu (kumulative)

Contents

ʻO ka manawa pinepine, kū mai kahi kūlana i ka wā e pono ai mākou e hōʻuluʻulu (hōʻuluʻulu) i kekahi mau waiwai i hoʻokomo ʻia i loko o hoʻokahi cell:

ʻO kēlā mau mea. inā, no ka laʻana, hoʻokomo ʻoe i ka helu 1 ma ke kelepona A5, a laila e ʻike ʻia ka helu 1 ma B15. Inā ʻoe e hoʻokomo i ka helu 1 ma A7, a laila e ʻike ʻia ka 1 ma ke kelepona B22, a pēlā aku. Ma keʻano laulā, he aha nā mea helu helu (a ʻaʻole ʻo lākou wale nō) i kapa i ka huina kumulative.

Hiki iā ʻoe ke hoʻokō i kahi waihona cell-accumulator me ka hoʻohana ʻana i kahi macro maʻalahi. E kaomi ʻākau ma ka ʻaoʻao pepa kahi i loaʻa ai nā cell A1 a me B1 a koho mai ka papa kuhikuhi kikokikona kumu (Hoʻopā'ālua). Ma ka puka makani hoʻoponopono Visual Basic e wehe ana, e kope a paʻi i ke code macro maʻalahi:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("A2").Value = Range(" A2")  

ʻO nā helu o nā pūnaewele A1 a me A2, ʻoiaʻiʻo, hiki ke hoʻololi iā ʻoe iho.

Inā pono ʻoe e hahai i ka hoʻokomo ʻana i ka ʻikepili a hōʻuluʻulu ʻaʻole nā ​​​​pūnaewele pākahi, akā nā pae holoʻokoʻa, a laila pono e hoʻololi iki ka macro:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Inā ʻAʻole Intersect(Target, Range("A1:A10")) ʻAʻohe mea a laila inā ʻo IsNumeric(Target.Value) A laila Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = Hoʻopau ʻoiaʻiʻo inā pau inā pau ka sub.  

Manaʻo ʻia ua hoʻokomo ʻia ka ʻikepili i loko o nā keena o ka laulā A1: A10, a ua hōʻuluʻulu ʻia nā helu i hoʻokomo ʻia ma ke kolamu pili ma ka ʻākau. Inā ma kāu hihia ʻaʻole ia e pili, a laila e hoʻonui i ka neʻe ʻana i ka ʻākau i ka mea hoʻohana Offset - hoʻololi i ka 1 me kahi helu nui.

  • He aha nā macros, kahi e hoʻokomo ai i ka code macro ma VBA, pehea e hoʻohana ai iā lākou?

Waiho i ka Reply