我正在努力在 Excel 中构建预算文件:
- 在第 2 行,我有月份
- 在 AI 列中有我的预算类型(类别)。
我没有在每个单独的单元格中构建一堆 sumif,而是尝试为每个输入(银行、AMEX、VISA 等)编写自定义 VBA 函数。
我遇到的问题 - 没有Application.Volatile
代码,编辑其他单元格后每个单元格中的值不会自动更新 - 但是当我添加Application.Volatile
时,它只是记录每个单元格中的最后一个值,忽略预算类型(类别)。
有什么想法可以构建此功能吗?
Function AMEX() As Double
Application.Volatile
Dim rngNet As Range
Dim rngMonth As Range
Dim rngTypes As Range
Dim intSearchMonth As Integer
Dim strSearchType As String
Set rngNet = shAMEX.Range("E:E")
Set rngMonth = shAMEX.Range("F:F")
Set rngTypes = shAMEX.Range("G:G")
intSearchMonth = shBudget.Cells(2, ActiveCell.Column)
strSearchType = shBudget.Cells(ActiveCell.Row, 1)
AMEX = Application.WorksheetFunction.SumIfs(rngNet, _
rngMonth, intSearchMonth, _
rngTypes, strSearchType)
End Function