ÄŠellula kumulattiva (kumulattiva)

Werrej

Spiss, tinħoloq sitwazzjoni meta għandna bżonn niġbru (jakkumulaw) diversi valuri mdaħħla sekwenzjali f'ċellula waħda:

Dawk. jekk, pereżempju, iddaħħal in-numru 1 fiċ-ċellula A5, allura n-numru 1 għandu jidher f'B15. Jekk imbagħad daħħal in-numru 1 f'A7, allura 1 għandu jidher fiċ-ċellula B22, eċċ. B'mod ġenerali, dak li l-accountants (u mhux lilhom biss) isejħu total kumulattiv.

Tista 'timplimenta tali akkumulatur taċ-ċelluli tal-ħażna billi tuża makro sempliċi. Ikklikkja bil-lemin fuq it-tab tal-folja fejn jinsabu ċ-ċelloli A1 u B1 u agħżel mill-menu tal-kuntest Test tas-sors (Kodiċi Sors). Fit-tieqa tal-editur Visual Basic li tiftaħ, ikkupja u waħħal il-kodiċi makro sempliċi:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Imbagħad Jekk IsNumeric(.Value) Imbagħad Application.EnableEvents = False Range("A2").Value = Range(" A2").Valur + .Valur Applikazzjoni.EnableEvents = True End If End If End With End Sub  

L-indirizzi taċ-ċelloli A1 u A2, ovvjament, jistgħu jiġu sostitwiti b'dak tiegħek.

Jekk għandek bżonn issegwi d-dħul tad-dejta u tiġbor fil-qosor mhux ċelloli individwali, iżda firxiet sħaħ, allura l-makro trid tinbidel kemmxejn:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Jekk Mhux Intersect(Target, Range("A1:A10")) Mhu Xejn Imbagħad Jekk IsNumeric(Target.Value) Imbagħad Applikazzjoni.EnableEvents = False Target.Offset(0, 1) .Valur = Target.Offset (0, 1).Valur + Target.Value Application.EnableEvents = True End If End If End Sub  

Huwa preżunt li d-dejta tiddaħħal fiċ-ċelloli tal-firxa A1: A10, u n-numri mdaħħla huma mqassra fil-kolonna ta 'ħdejha fuq il-lemin. Jekk fil-każ tiegħek ma tkunx biswit, imbagħad żid iċ-ċaqliq lejn il-lemin fl-operatur Offset - ibdel 1 b'numru akbar.

  • X'inhuma macros, fejn tiddaħħal il-kodiÄ‹i makro fil-VBA, kif tuĹĽahom?

Ħalli Irrispondi