我一直试图在几个小时内解决这个问题而没有任何成功。下面的代码假设查看2个不同的工作表并计算特定值的总和。
在表1 - A栏中,我们有唯一的值,这些值取自第2页 - 第G列。现在,下面的代码假设从第1页 - A列中获取唯一值,验证特定值的提及次数在表2 - 列G中,并将其总值从第N列 - 第2页汇总。然后总和将被粘贴在表1 - 列F中。
在声明变量 lastrow1 和 lastrow2 之后,我收到运行时错误13 。但是,如果我从代码中删除这些变量,我不会收到任何错误,但每次运行代码时结果都是 0 ,这是不正确的。
有人可以帮助我找到更聪明的方法吗?必须赞赏!
我已经重新更改了代码,现在它似乎工作了。我的问题是它在所有单元格中放置相同的值(来自sumif公式的列F),这是不正确的。我该如何解决这个问题?
Sub sumvalueF()
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim lastRow As Long
Set ws = Sheets("Sheet1")
Set ws1 = Sheets("Sheet2")
lastRow = ws1.Cells(Rows.Count, "A").End(xlUp).Row
ws1.Range("F4:F" & lastrow).value = WorksheetFunction.sumif(ws.Range("g7:g30000"), ws1.Range("A4"), ws.Range("n7:n30000"))
End Sub
答案 0 :(得分:1)
使用ws1.Range("F4:F & lastrow").value
ws1.Range("F4:F" & lastrow).value
EDIT
循环版本:
For i = 4 To lastRow
ws1.Cells(i, 6).Value = WorksheetFunction.SumIf(ws.Range("g7:g30000"), ws1.Range("A"&i), ws.Range("n7:n30000"))
Next i