【发布时间】:2018-06-08 01:53:05
【问题描述】:
我目前正在尝试自学一些基本的 excel vba,但我被困在 sumifs 上。
我在同一个工作簿中有两个工作表(Sheet1 和 Sheet2)。 我试图让单元格 Sheet 1 D4:D20 根据两个标准汇总表 2 中的数据。第一个标准 (Y) 是可变的并存储在 Sheet1 C4:C20 中,而第二个标准是 E。不幸的是,当我尝试计算最后一行时,我不断出错。 到目前为止我所拥有的是:
Sub Test_Sumifs()
Dim EndRow As Long
Dim i As Integer
EndRow = Cells(row.Count, "C").End(x1Up).row
Set SumRange = Worksheets("Sheet2").Range("D2:D17")
Set Criteria1 = Worksheets("Sheet2").Range("B2:B17")
Set Criteria2 = Worksheets("Sheet2").Range("C2:C17")
For i = 4 To EndRow
Cells(i, 4).Value = WorksheetFunction.SumIfs(SumRange, Criteria1, [C4], Criteria2, ["E"])
Next i
End Sub
我环顾四周并尝试了各种方法,但无法找出问题所在。
非常感谢您的帮助,
【问题讨论】:
-
什么错误,在哪一行?
-
我的错误应该指定,错误是 EndRow = Cells(row.Count, "C").End(x1Up).row 上的错误 424,我也不确定以下是否工作表功能标准 1,[C4] 正在工作,或者如果 excel 只是将所有内容与 C4 进行比较,而不是向下到每个单元格
-
对于初学者来说,它应该是
End(xlUp),带有 L 而不是 1。 -
不应该
row.Count是rows.Count? -
另外,看起来你想给单元格的值是函数和值的组合......