0

我正在努力在 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
4

0 回答 0