我正在
运行时错误' 424':需要对象"
每次我尝试这个,我都不明白为什么!
Dim CCAnual(1 To 200) As Currency
For i = 1 To 188
Set CCAnual(i) = Applications.WorksheetFunction.Average(Worksheets(3).Range(Cells(i + 2, 5), Cells(i + 14, 5)))
Next i
For i = 189 To 200
Set CCAnual(i) = Applications.WorksheetFunction.Average(Worksheets(3).Range(Cells(i, 5), Cells(200, 5)))
Next i
我做错了什么?
我已经尝试过使用ActiveWorksheet定义工作表,而没有任何内容。
答案 0 :(得分:1)
第1期在这里CCAnual(i) = Applications.WorksheetFunction
使用此:
CCAnual(i) = WorksheetFunction.Average(Range(Cells(i + 2, 5), Cells(i + 14, 5)))
或者这个:
CCAnual(i) = Application.Average(Range(Cells(i + 2, 5), Cells(i + 14, 5)))
或者这个:
CCAnual(i) = Evaluate("=Average(" & Range(Cells(i + 2, 5), Cells(i + 14, 5)).Address & ")")
你还应该记住,你可能会遇到第二期,.Average()
是否与空单元格无关,所以至少有一个单元格应该是数值
所以最后你的代码应该是这样的:
Sub test()
Dim CCAnual(1 To 200) As Currency
For i = 1 To 188
If WorksheetFunction.CountA(Range(Cells(i + 2, 5), Cells(i + 14, 5))) = 0 Then
Exit For
Else
CCAnual(i) = Application.Average(Range(Cells(i + 2, 5), Cells(i + 14, 5)))
End if
Next i
''''''''''
End Sub