当我运行下面转换SUMIF forimula从Excel宏VBA - Prolem 2:转换单元范围
Sub test2() Dim i,
Rownumber As Integer
Rownumber = Sheets("Sheet4").Range("A65536").End(xlUp).Row
For i = 2 To Rownumber
Sheets("Sheet4").Cells(i, 3).Formula = "=sumif(Sheet3!$A$2:$A$10, Sheet4!A2, Sheet3!$B$2:$B$10)"
Next i
End Sub
码宏运行良好,但是当我将其转换成宏VBA:
Sub test2()
Dim i, Rownumber As Integer
Rownumber = Sheets("Sheet4").Range("A65536").End(xlUp).Row
For i = 2 To Rownumber
Sheets("Sheet4").Cells(i, 3).Value = Application.WorksheetFunction.SumIfs(Sheets("Sheet3").Range("A2:A10"), Sheets("Sheet4").Cells(2, 1), Sheets("Sheet3").Range("B2:B10"))
Next i
End Sub
它给我的错误 - >运行错误类型13,类型missmatch
任何线索,为什么发生这种情况,如何解决? - 套管关闭
感谢
问题NO 2
下面的代码运行良好时,它的执行:
For j = 3 To Colnumber
For i = 2 To Rownumber
Sheets("Sheet2").Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheets("3G").**Range("F2:F6991")**, Sheets("3G").Range("E2:E6991"), Sheets("Sheet2").Cells(i, 1))
Next i
Next j
但为什么当我改变它到:
Sheets("Sheet2").Cells(i, j).Value = Application.WorksheetFunction.SumIfs(Sheets("3G").**Range(Cells(2, 6), Cells(6991, 6))**, Sheets("3G").Range("E2:E6991"), Sheets("Sheet2").Cells(i, 1))
它给了我错误:错误1004,应用程序定义或定义 - 对象错误?
TIA
什么是**呢? – useR 2014-10-30 09:06:53