2011-04-29 100 views
2

我應該如何解決這個代碼,因爲它拋出:「對象不支持此屬性或方法」Excel的VBA:不能SUM()超過範圍()

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 

然而,這是不可接受的解決方案,因爲我想Sum()超過範圍()如在macro1()中所述。

回答

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 
5

嘗試

ActiveSheet.Range("B4").Formula = Application.WorksheetFunction.Sum(Range("D40:D50"))