0
我有大量具有相同佈局的工作表,列G6:G38
是年份和列H6:H38
是相應的支付金額。我試圖創建一個簡單的公式,我可以在所有通過這些列搜索並在給定年份中總結金額的表單中使用該公式。 這是我寫到一個模塊中的功能:Excel VBA:函數應用於單個工作表
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
插入的公式中的所有工作表中的單個細胞後,我發現,我的每個輸入公式時,它會導致相同的所有其他用途公式在其他工作表上顯示最近的計算。我怎樣才能使公式只適用於其輸入的工作表?
例如:在sheet1
中的單元格A1
我推定爲=Tpaid(2013)
。然後在sheet2
中的單元格A1
我推定爲=Tpaid(2013)
。點擊輸入sheet2
後,顯示的金額正確,但現在sheet1
中的金額已更改爲與sheet2
中顯示的金額相同,但金額不正確。
你可以很容易地做到這一點與表對象的資格'Range':'Application.Caller.Parent.Range( 「H」 &X).Value',但你不應該「T。相反,您應該將求和範圍作爲參數傳遞給函數,並移除'Application.Volatile'。更好的是,只需使用Excel已有的['SUMIF'函數](https://support.office.com/en-ca/article/SUMIF-function-169b8c99-c05c-4483-a712-1697a653039b)。 – GSerg