add to existing value

fatdog

New Member
Joined
Mar 2, 2011
Messages
4
I need to allow people to enter values that are then added to a single cell to maintain a running total, but i want to keep it as simple as possible for the user so they don't need to add values manually to avoid potential user error

a simplified example, if 10 was in a cell already, one person may need to submit a value of 4, another user 6, and at the end of the day i would expect to see a single cell containing the number 20

if a1 contains a value, is it possible to have it setup so someone can enter a value into b1 then that value will be added to the number currently in a1 and then b1 is then cleared ready for the next person

or alternatively could someone enter a value into cell a1 directly and it be added to the current value rather than clearing and replacing whats already in there

any tips would be greatly appreciated
 

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.

VoG

Legend
Joined
Jun 19, 2002
Messages
63,650
Try this: right click the sheet tab, select View Code and paste in

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B1" Then
    Application.EnableEvents = False
    Range("A1").Value = Range("A1").Value + Target.Value
    Target.ClearContents
    Application.EnableEvents = True
End If
End Sub

then try entering numbers in B1.
 
Upvote 0

fatdog

New Member
Joined
Mar 2, 2011
Messages
4
thanks this seems to work nicely, is there any way to adapt this to run down the column, excluding the heading

so this system runs in cells a2 / b2 and below?
 
Upvote 0

Peter_SSs

MrExcel MVP, Moderator
Joined
May 28, 2005
Messages
59,294
Office Version
  1. 365
Platform
  1. Windows
Not sure which way round you wanted it to work. This looks for changes in column B and adds the value(s) to the corresponding cells in column A. Should work even if multiple cells in col B are changed at once.

<font face=Courier New><br><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Worksheet_Change(<SPAN style="color:#00007F">ByVal</SPAN> Target <SPAN style="color:#00007F">As</SPAN> Range)<br>    <SPAN style="color:#00007F">Dim</SPAN> Bchanged <SPAN style="color:#00007F">As</SPAN> Range, Bcell <SPAN style="color:#00007F">As</SPAN> Range<br>    <br>    <SPAN style="color:#00007F">Set</SPAN> Bchanged = Intersect(Target, Columns("B"), Rows("2:" & Rows.Count))<br>    <SPAN style="color:#00007F">If</SPAN> <SPAN style="color:#00007F">Not</SPAN> Bchanged <SPAN style="color:#00007F">Is</SPAN> <SPAN style="color:#00007F">Nothing</SPAN> <SPAN style="color:#00007F">Then</SPAN><br>        Application.EnableEvents = <SPAN style="color:#00007F">False</SPAN><br>        <SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> Bcell <SPAN style="color:#00007F">In</SPAN> Bchanged<br>            <SPAN style="color:#00007F">If</SPAN> IsNumeric(Bcell.Value) <SPAN style="color:#00007F">Then</SPAN><br>                <SPAN style="color:#00007F">With</SPAN> Bcell.Offset(, -1)<br>                    .Value = .Value + Bcell.Value<br>                <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br>            <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br>        <SPAN style="color:#00007F">Next</SPAN> Bcell<br>        Bchanged.ClearContents<br>        Application.EnableEvents = <SPAN style="color:#00007F">True</SPAN><br>    <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>
 
Last edited:
Upvote 0

Luigi802

Board Regular
Joined
Oct 16, 2014
Messages
80
Try this: right click the sheet tab, select View Code and paste in

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B1" Then
    Application.EnableEvents = False
    Range("A1").Value = Range("A1").Value + Target.Value
    Target.ClearContents
    Application.EnableEvents = True
End If
End Sub

then try entering numbers in B1.
I have the same issue, except I want to do this with multiple cells in a table, this works beautifully in a single line, but how can I do this ove a range in a table?
 
Upvote 0

Peter_SSs

MrExcel MVP, Moderator
Joined
May 28, 2005
Messages
59,294
Office Version
  1. 365
Platform
  1. Windows
I have the same issue, except I want to do this with multiple cells in a table, this works beautifully in a single line, but how can I do this ove a range in a table?
Can you spell out your specific circumstances a little more?
 
Upvote 0

Luigi802

Board Regular
Joined
Oct 16, 2014
Messages
80
Sure instead of doing it on just A1 using B1 I want to do it on A1:A25 using corresponding B1:B25 also they are in a table together, I tried duplicating your macro, but I'm not too good with those lol
 
Upvote 0

Luigi802

Board Regular
Joined
Oct 16, 2014
Messages
80
Yes but I just used that as an example, the rows I'm dealing are actually I14:I 25 and K14:K25, sorry didn't think that was relevant
 
Upvote 0

Forum statistics

Threads
1,191,125
Messages
5,984,786
Members
439,911
Latest member
dk73

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top