Forum Discussion

karlito2605's avatar
karlito2605
Copper Contributor
Oct 28, 2021
Solved

excel

Hello all, hope any of you can help me with a small issue that i have.

I have cell A1 and A2 cell A1 has to add up numbers from cell A2 but cell A2 changes everyday and i want cell A1 to keep adding up from cell A2.

How do i do this?

 

Thank you for you're reply.

  • karlito2605 

    You mentioned "it has to happen on the current date" so the code uses the current date. If you want to use the date in B1 instead, change the code to

    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rng As Range
        If Target.CountLarge > 1 Then Exit Sub
        If Not Intersect(Range("B3,B20,B37,B54,B71"), Target) Is Nothing Then
            If IsNumeric(Target.Value) Then
                Application.EnableEvents = False
                Set rng = Target.Offset(0, 2).Resize(12, 1).Find(What:=Format(Range("B1").Value, "mmmm"), LookAt:=xlWhole)
                rng.Offset(0, 1).Value = Target.Value + rng.Offset(0, 1).Value
                Application.EnableEvents = True
            End If
        End If
    End Sub

17 Replies

  • karlito2605 

    I don't recommend doing it like that:

    • You won't know which numbers contributed to the sum in A1.
    • It will be difficult to correct errors.

    Instead, enter each new number in the cell below the previous one, i.e. in A2, A3, A4, ...

    In A1, enter the formula =SUM(A2:A10000)

    You'll have the up-to-date total AND all numbers that make up the total.

    • karlito2605's avatar
      karlito2605
      Copper Contributor
      Hello sir, thank you for you're reply and answer, but in the spreadsheet i dont want to show all the rows with numbers because it is on a daily base. Prefer to have a formula to keep adding cell A1
      • HansVogelaar's avatar
        HansVogelaar
        MVP

        karlito2605 

        You cannot do that with a formula. It requires VBA.

        Right-click the sheet tab.
        Select 'View Code' from the context menu.
        Copy the code listed below into the code window.
        Close the Visual Basic Editor.
        Save the workbook as a macro-enabled workbook (*.xlsm).
        Make sure that you allow macros when you open it.
        Code:

        Private Sub Worksheet_Change(ByVal Target As Range)
            If Not Intersect(Range("A2"), Target) Is Nothing Then
                Application.EnableEvents = False
                Range("A1").Value = [=SUM(A1:A2)]
                Application.EnableEvents = True
            End If
        End Sub

Resources