Akkumuler værdier

I Excel har man ofte behov for at akkumulere værdier i en celle, altså at en celles værdi efter en beregning, afhænger af, hvad der i forvejen står i cellen. Dette kan i et vidst omfang løses ved at acceptere cirkulære referencer og en enkelt gentagelse af beregningerne i disse, men det er ikke altid tilstrækkeligt. I stedet kan man bruge en makro.

Nedenstående makro, der placeres i arkets kodemodul, ser på, hvad der indtastes i A-kolonnen (i eksemplet i cellerne A2:A100, men dette kan nemt ændres). Den værdi, der indtastes, adderes til den værdi, der står i samme række, men i B-kolonnen, og resultatet skrives i B-kolonnen. Regningsarten kan naturligvis også ændres til andet end addition. Efter bregningen tømmes feltet i A-kolonnen igen.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a2:a100")) Is Nothing Then
        If Target.Value <> "" Then
            Target.Offset(0, 1).Value = Target.Offset(0, 1).Value + Target.Value
            Target.Value = ""
        End If
    End If
End Sub

- Retur til makroer -
- Retur til Excel -