Excel VBA:不能在Range()上求和()

ref*_*rer 2 excel vba

我应该如何修复此代码,因为它抛出:"该对象不支持此属性或方法"

Sub macro1()
    Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
    ActiveSheet.Range("B4") = _ 
    Workbooks("INPUT.xlsx").Sheets("Sheet1").Sum(Range("D40:D50"))
End Sub
Run Code Online (Sandbox Code Playgroud)

以上代码在调整时工作正常:

Sub macro2()
    Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
    ActiveSheet.Range("B4") = _
    Workbooks("INPUT.xlsx").Sheets("Sheet1").Range("D40")
End Sub
Run Code Online (Sandbox Code Playgroud)

然而,这是不可接受的解决方案,因为我想要在Range()上使用Sum(),如macro1()中所述.

Arn*_*sss 5

尝试

ActiveSheet.Range("B4").Formula = Application.WorksheetFunction.Sum(Range("D40:D50"))
Run Code Online (Sandbox Code Playgroud)