Кумулативна ќелија (кумулативна)

содржина

Доста често, се јавува ситуација кога треба да сумираме (акумулираме) неколку вредности последователно внесени во една ќелија:

Оние. ако, на пример, го внесете бројот 1 во ќелијата A5, тогаш бројот 1 треба да се појави во B15. Ако потоа го внесете бројот 1 во A7, тогаш 1 треба да се појави во ќелијата B22 итн. Во принцип, она што сметководителите (и не само тие) го нарекуваат кумулативен збир.

Можете да имплементирате таков акумулатор на ќелија за складирање со помош на едноставно макро. Кликнете со десното копче на јазичето на листот каде што се наоѓаат ќелиите A1 и B1 и изберете од контекстното мени Изворниот текст (Изворен код). Во прозорецот за уредувач на Visual Basic што се отвора, копирајте го и залепете го едноставниот макро код:

Приватен под Worksheet_Change(ByVal Target As Excel.Range) со Target If .Address(False, False) = "A1" Потоа ако е Numeric(.Value) Потоа Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

Адресите на ќелиите А1 и А2, се разбира, може да се заменат со свои.

Ако треба да го следите внесот на податоци и да сумирате не поединечни ќелии, туку цели опсези, тогаш макрото ќе треба малку да се промени:

Приватен под работен лист_Change (ByVal Target како Excel.Range) Ако не се вкрстува(Target, Range("A1:A10")) Is Nothing then If IsNumeric(Target.Value) then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Се претпоставува дека податоците се внесуваат во ќелиите од опсегот A1:A10, а внесените броеви се сумираат во соседната колона од десната страна. Ако во вашиот случај не е соседно, тогаш зголемете го поместувањето надесно во операторот Offset - заменете го 1 со поголем број.

  • Што се макроа, каде да вметнете макро код во VBA, како да ги користите?

Оставете Одговор