Kumulativna ćelija (kumulativna)

Sadržaj

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

Oni. 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.

Takvu ćeliju za pohranu-akumulator možete implementirati pomoću jednostavnog makronaredbe. Desnom tipkom miša kliknite karticu lista gdje se nalaze ćelije A1 i B1 i odaberite iz kontekstnog izbornika Izvorni tekst (Izvorni kod). U prozoru uređivača Visual Basic koji se otvori kopirajte i zalijepite jednostavni makro kod:

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").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

Adrese ćelija A1 i A2, naravno, možete zamijeniti svojima.

Ako trebate pratiti unos podataka i sažeti ne pojedinačne ćelije, već cijele raspone, tada će se makronaredba morati malo promijeniti:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(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  

Pretpostavlja se da se podaci upisuju u ćelije raspona A1:A10, a uneseni brojevi se zbrajaju u susjednom stupcu s desne strane. Ako u vašem slučaju nije susjedna, tada povećajte pomak udesno u operatoru Offset – zamijenite 1 s većim brojem.

  • Što su makronaredbe, gdje umetnuti makro kod u VBA, kako ih koristiti?

Ostavi odgovor