运行时错误' 13':类型不匹配,在以下代码中:

时间:2018-06-11 05:30:38

标签: excel vba

Sub test()

    'Dim total(1 To 9) As Variant
    ReDim total(1 To 9) As Variant


    For i = 1 To 9

    total(i) = Application.WorksheetFunction.SumIf(Sheets("Sheet2").Range(Cells(3, 3), Cells(i, 3)), ">" & _
    Sheets("Sheet2").Range(Cells(3, 6), Cells(i, 6))-60, _
    Sheets("Sheet2").Range(Cells(3, 4), Cells(i, 4)))
    Next i


End Sub

任何人都可以告诉我为什么我会一直收到此错误,虽然我正在使用我的阵列变体?一切似乎都很好。 我想要做的是从单元格中的日期扣除60天,然后总结初始日期和扣除日期之间的金额。所以它会是这样的: enter image description here

1 个答案:

答案 0 :(得分:0)

  1. Sheets("Sheet2").Range(Cells(3, 6), Cells(i, 6))(标准参数)应该是单个单元格或值,而不是范围。
  2. 定义表格的单元格(3,3​​),单元格(i,3)(“Sheet2”)。范围(...)没有定义的父工作表。请参阅Is the . in .Range necessary when defined by .Cells

    with workSheets("Sheet2")
        For i = lbound(total) To ubound(total)
            total(i) = Application.SumIf(.Range(.Cells(3, 3), .Cells(i, 3)), _
                                         ">" & .Cells(i, 6), _
                                         .Range(.Cells(3, 4), .Cells(i, 4)))
        Next i
    end with