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

Садржај

Често се јавља ситуација када треба да сумирамо (акумулирамо) неколико вредности које се узастопно уносе у једну ћелију:

Оне. ако, на пример, унесете број 1 у ћелију А5, онда број 1 треба да се појави у Б15. Ако затим унесете број 1 у А7, онда би 1 требало да се појави у ћелији Б22, и тако даље. Генерално, оно што рачуновође (и не само они) називају кумулативним укупним износом.

Можете имплементирати такав акумулатор ћелија за складиштење користећи једноставан макро. Кликните десним тастером миша на картицу листа где се налазе ћелије А1 и Б1 и изаберите из контекстног менија Изворни текст (Изворни код). У прозору Висуал Басиц уређивача који се отвори, копирајте и налепите једноставан макро код:

Приватни под Радни лист_Цханге(БиВал Таргет Ас Екцел.Ранге) Са циљем Ако је .Аддресс(Фалсе, Фалсе) = "А1" Затим Ако је Нумериц(.Валуе) Онда Апплицатион.ЕнаблеЕвентс = Фалсе Ранге("А2").Валуе = Ранге(" А2").Валуе + .Валуе Апплицатион.ЕнаблеЕвентс = Труе Енд Иф Енд Иф Енд Витх Енд Суб  

Адресе ћелија А1 и А2, наравно, могу се заменити својим.

Ако треба да пратите унос података и сумирате не појединачне ћелије, већ читаве опсеге, онда ће макро морати да се мало промени:

Приватни под радни лист_Цханге(БиВал Таргет Ас Екцел.Ранге) Ако се не пресеца(Таргет, Ранге("А1:А10")) није ништа, онда ако је Нумериц(Таргет.Валуе) онда Апплицатион.ЕнаблеЕвентс = Фалсе Таргет.Оффсет(0, 1) .Валуе = Таргет.Оффсет(0, 1).Валуе + Таргет.Валуе Апплицатион.ЕнаблеЕвентс = Труе Енд Иф Енд Иф Енд Суб  

Претпоставља се да се подаци уносе у ћелије опсега А1:А10, а унети бројеви се сабирају у суседној колони са десне стране. Ако у вашем случају није суседно, повећајте померање удесно у Оффсет оператору – замените 1 већим бројем.

  • Шта су макрои, где убацити макро код у ВБА, како их користити?

Ostavite komentar