Sumifs和错误1004:应用程序定义或对象定义

时间:2016-03-14 05:22:02

标签: excel vba runtime-error sumifs

我不断获得Error 1004: Application Defined or Object Defined

对于这些代码行:

Input formulas for Summary Worksheet
    Worksheets("Summary " & q).Select
    Dim CountRows As Integer
    CountRows = Application.CountA(Worksheets("Transactions").Range("A:A"))
    AtTimes = 22 + q

    Worksheets("Transactions").Cells.EntireColumn.AutoFit
    Worksheets("Summary " & q).Cells.EntireColumn.AutoFit

    For x = 2 To h Step 1
        Worksheets("Summary " & q).Cells(3, x).Value = WorksheetFunction.Sum(WorksheetFunction.SumIfs(Worksheets("Transactions").Range("S:S"), _
        Worksheets("Transactions").Range("C:C"), Worksheets("Summary " & q).Cells(2, x), _
        Worksheets("Transactions").Range("T:T"), "False", _
        Worksheets("Transactions").Range(Cells(2, AtTimes), Cells(CountRows, AtTimes)), "True", _
        Worksheets("Transactions").Range("F:F"), "Transfer In", _
        Worksheets("Transactions").Range("F:F"), "Cash Deposit"))
    Next x

我尝试使用VBA中的"Watch"函数进行调试,当错误1004弹出时,所有变量都没有改变,我认为这意味着宏一进入此就会停止环。

为什么以及如何解决此问题?

非常感谢任何帮助!时间也很重要,因为我的老板很快就会看到这个项目:)

1 个答案:

答案 0 :(得分:0)

此:

Worksheets("Transactions").Range(Cells(2, AtTimes), Cells(CountRows, AtTimes))

如果Transactions不是活动工作表,则会导致1004错误,因为没有合格工作表的Cells()引用活动工作表,而不是Transactions