2015-11-07 111 views
0

我越來越平均VBA函數

運行時錯誤 '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和機智什麼都沒有。

回答

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 
+0

這工作!謝謝! – Migarisa