Kumulativna ćelija (kumulativna)

sadržaj

Vrlo često se javlja situacija kada trebamo zbrojiti (akumulirati) nekoliko vrijednosti koje se uzastopno unose u jednu ćeliju:

One. ako, na primjer, unesete broj 1 u ćeliju A5, tada bi se broj 1 trebao pojaviti u B15. Ako zatim unesete broj 1 u A7, onda bi se 1 trebao pojaviti u ćeliji B22, i tako dalje. Općenito, ono što računovođe (i ne samo oni) nazivaju kumulativnim zbrojem.

Takav akumulator ćelija za skladištenje možete implementirati pomoću jednostavnog makroa. Kliknite desnim tasterom miša na karticu lista gde se nalaze ćelije A1 i B1 i izaberite iz kontekstnog menija Izvorni tekst (Izvorni kod). U prozoru uređivača Visual Basica koji se otvori, kopirajte i zalijepite jednostavan makro kod:

Privatni pod Radni list_Change(ByVal Target As Excel.Range) Sa ciljem Ako je .Address(False, False) = "A1" Zatim Ako je Numeric(.Value) Onda Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

Adrese ćelija A1 i A2, naravno, mogu se zamijeniti vašim.

Ako trebate pratiti unos podataka i sumirati ne pojedinačne ćelije, već cijele raspone, makro će se morati malo promijeniti:

Privatni pod Radni list_Change(ByVal Target As Excel.Range) Ako nije Intersect(Target, Range("A1:A10")) nije ništa onda ako je Numeric(Target.Value) Onda Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Pretpostavlja se da se podaci unose u ćelije opsega A1:A10, a uneti brojevi se zbrajaju u susednoj koloni sa desne strane. Ako u vašem slučaju nije susjedno, povećajte pomak udesno u Offset operatoru – zamijenite 1 većim brojem.

  • Šta su makroi, gde ubaciti makro kod u VBA, kako ih koristiti?

Ostavite odgovor