我应该如何修复此代码,因为它抛出:“该对象不支持此属性或方法”
Sub macro1()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Workbooks("INPUT.xlsx").Sheets("Sheet1").Sum(Range("D40:D50"))
End Sub
以上代码在调整为:
时工作正常Sub macro2()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Workbooks("INPUT.xlsx").Sheets("Sheet1").Range("D40")
End Sub
然而,这是不可接受的解决方案,因为我想在Range()上使用Sum(),如macro1()中所述。
答案 0 :(得分:5)
试
ActiveSheet.Range("B4").Formula = Application.WorksheetFunction.Sum(Range("D40:D50"))
答案 1 :(得分:1)
WorkSheet没有和函数,请尝试使用WorksheetFunction代替:
Sub macro1()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Application.WorksheetFunction.Sum(Workbooks("INPUT.xlsx").Sheets("Sheet1").Range("D40:D50"))
End Sub