为什么我总是得到“无法获取WorksheetFunction类的属性”错误

即使我想总结一行的价值。 我尝试了worksheetfunction.mmult但我得到了同样的错误。 我是否需要添加更多的引用到我的Excel? 所有的在线解决scheme都不适合我。

 Sub GetObj() Dim Obj As Double Dim VB1, VB2, AESum As Double Dim range1, range2, cell1, cell2 As Range With Worksheets("Result") AESum = Application.WorksheetFunction.Sum("B2:F2") End With End Sub 

在它自己的"B2:F2"只是一个string。 如果你想使用它作为范围,那么你将不得不专门指定。

更改

 AESum = Application.WorksheetFunction.Sum("B2:F2") 

 AESum = Application.WorksheetFunction.Sum(.Range("B2:F2")) 

而不是Application.WorksheetFunction.Sum("B2:F2")使用Application.WorksheetFunction.Sum(.Range("B2:F2"))

你可以改变

 AESum = Application.WorksheetFunction.Sum("B2:F2") 

 AESum = Application.WorksheetFunction.Sum(.Range("B2:F2")) 

你也可以评估expression式为:

 AESum = [Sum(Result!B2:F2)] 
 Excel.WorksheetFunction.Sum(Range("J7:J8")) 

这对我有用!