Kumulativ celle (kumulativ)

Innhold

Ganske ofte oppstår en situasjon når vi trenger å summere (akkumulere) flere verdier sekvensielt lagt inn i en celle:

De. hvis du for eksempel skriver inn tallet 1 i celle A5, så skal tallet 1 vises i B15. Hvis du så skriver inn tallet 1 i A7, så skal 1 vises i celle B22, og så videre. Generelt, hva regnskapsførere (og ikke bare dem) kaller en kumulativ total.

Du kan implementere en slik lagringscelle-akkumulator ved å bruke en enkel makro. Høyreklikk på arkfanen der cellene A1 og B1 er plassert og velg fra hurtigmenyen Kildetekst (Kildekode). I Visual Basic-redigeringsvinduet som åpnes, kopier og lim inn den enkle makrokoden:

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  

Adressene til cellene A1 og A2 kan selvfølgelig erstattes med din egen.

Hvis du trenger å spore dataregistrering og ikke oppsummere individuelle celler, men hele områder, må makroen endres litt:

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  

Det antas at data legges inn i cellene i området A1:A10, og de angitte tallene summeres i den tilstøtende kolonnen til høyre. Hvis det i ditt tilfelle ikke er tilstøtende, så øk skiftet til høyre i Offset-operatøren – erstatt 1 med et større tall.

  • Hva er makroer, hvor skal man sette inn makrokode i VBA, hvordan bruker man dem?

Legg igjen en kommentar