我有这个循环在一个工作表中接受4个单元格的组,并将它们平均到另一个工作表中。当一行读取z = z + 3时,它会运行,但是如果我将其更改为z = z + 4则不会(运行时错误1004无法获取WorksheetFunction类的Average属性)。这是为什么?
Dim summary As Worksheet
Set summary = ThisWorkbook.Sheets("Sheet3")
Dim cost As Worksheet
Set cost = ThisWorkbook.Sheets("Sheet4")
Dim y As Integer
Dim z As Integer
z = 2
For y = 2 To 17
cost.Cells(y, 3) = Round(Application.WorksheetFunction.Average(Range(summary.Cells(4, z), summary.Cells(4, (z + 3)))), 0)
z = z + 4
Next y
答案 0 :(得分:1)
如果您使用z=z+3
运行例行程序,则最终(y = 17)区域的平均值为$AX$4:$BA$4
但是,如果使用z=z+4
,则所有这些额外的单元格意味着平均的最终区域为$BN$4:$BQ$4
。
正如您在评论中所述,您的数据仅延伸至$AX$4
,一旦y
达到14 ,所有的平均细胞均为空,且功能为空失败。