Cèl·lula acumulada (acumulativa)

contingut

Molt sovint, es produeix una situació en què hem de sumar (acumular) diversos valors introduïts seqüencialment en una cel·la:

Aquells. si, per exemple, introduïu el número 1 a la cel·la A5, el número 1 hauria d'aparèixer a B15. Si després introduïu el número 1 a A7, l'1 hauria d'aparèixer a la cel·la B22, i així successivament. En general, el que els comptables (i no només ells) anomenen un total acumulat.

Podeu implementar aquest acumulador de cèl·lules d'emmagatzematge mitjançant una macro simple. Feu clic amb el botó dret a la pestanya del full on es troben les cel·les A1 i B1 i seleccioneu al menú contextual Text font (Codi font). A la finestra de l'editor de Visual Basic que s'obre, copieu i enganxeu el codi de macro simple:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Amb Target If .Address(False, False) = "A1" Aleshores si IsNumeric(.Value) Aleshores Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

Les adreces de les cel·les A1 i A2, per descomptat, es poden substituir per les vostres.

Si necessiteu fer un seguiment de l'entrada de dades i resumir no cel·les individuals, sinó intervals sencers, la macro s'haurà de canviar lleugerament:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) No és res, aleshores si IsNumeric(Target.Value) Aleshores Application.EnableEvents = False Target.Offset (0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Se suposa que les dades s'introdueixen a les cel·les de l'interval A1:A10 i que els números introduïts es resumeixen a la columna adjacent a la dreta. Si en el vostre cas no és adjacent, augmenteu el desplaçament cap a la dreta a l'operador Offset; substituïu 1 per un nombre més gran.

  • Què són les macros, on inserir el codi de macro a VBA, com utilitzar-les?

Deixa un comentari