I have a large number of worksheets that have the same layout, column G6:G38
is the years and Column H6:H38
is the corresponding amounts paid. I tried to create a simple formula that I could use in all the sheets that searches through these columns and sums the amounts in a given year.
This is the function I wrote into a module:
Public Function TPaid(Year As Integer)
Application.Volatile
Dim x As Integer
x = 6
Do Until x = 38
If Range("G" & x).Value = Year Then
TPaid = TPaid + Range("H" & x).Value
End If
x = x + 1
Loop
End Function
After inserting the formula into individual cells on all the worksheets, I'm finding that each time I enter the formula, it causes all other uses of the same formula on the other worksheets to display that most recent calculation. How can I make the formula only apply to the sheet its entered into?
Example: on sheet1
in cell A1
I imputed =Tpaid(2013)
. then on sheet2
in cell A1
I imputed =Tpaid(2013)
. After hitting enter on sheet2
the amount displayed is correct, but now the amount in sheet1
has changed to display the same amount as in sheet2
, which is incorrect.
As GSerg said, this can be done a couple of ways, the best of which is
=SUMIF(G6:G38,2013,H6:H38)
.Otherwise,