Kumulatívna bunka (kumulatívna)

Obsah

Pomerne často nastáva situácia, keď potrebujeme zhrnúť (akumulovať) niekoľko hodnôt postupne zadaných do jednej bunky:

Tie. ak napríklad zadáte číslo 1 do bunky A5, potom by sa číslo 1 malo objaviť v B15. Ak potom zadáte číslo 1 do A7, potom by sa 1 mala objaviť v bunke B22 atď. Vo všeobecnosti to, čo účtovníci (a nielen oni) nazývajú kumulatívny súčet.

Takýto akumulátorový bunkový akumulátor môžete implementovať pomocou jednoduchého makra. Kliknite pravým tlačidlom myši na kartu listu, kde sa nachádzajú bunky A1 a B1, a vyberte z kontextovej ponuky Zdrojový text (Zdrojový kód). V okne editora Visual Basic, ktoré sa otvorí, skopírujte a prilepte jednoduchý kód makra:

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  

Adresy buniek A1 a A2 je samozrejme možné nahradiť vlastnými.

Ak potrebujete sledovať zadávanie údajov a sumarizovať nie jednotlivé bunky, ale celé rozsahy, makro bude musieť byť mierne zmenené:

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  

Predpokladá sa, že údaje sú zadané do buniek rozsahu A1:A10 a zadané čísla sú sčítané v susednom stĺpci vpravo. Ak vo vašom prípade nesusedí, zvýšte posun doprava v operátori Offset – nahraďte 1 väčším číslom.

  • Čo sú makrá, kam vložiť kód makra vo VBA, ako ich používať?

Nechaj odpoveď