嗨,我正在尝试编写 vba 来帮助我将每日数据转换为每周数据。我编写了这个 vba,但说无法获取工作表函数类的平均属性
。有人可以帮我找出问题所在吗?谢谢!
Sub CopyData()
Dim z As Integer
For z = 0 To 2000
Set Rng1 = ActiveSheet.Range("D5:D11").Offset(7 * z, 0)
Range("runningagain").Offset(z, 0) = Application.WorksheetFunction.Average(Rng1)
Do Until IsEmpty(ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop
Next z
End Sub
最佳答案
Excel 中的平均函数将生成#DIV/0!如果单元格为空,则会出错,因此您需要检查 rng1
是否为空。
当您取平均值时,最好使用 Count 而不是 CountA
If Application.WorksheetFunction.Count(Rng1) > 0 Then
Range("runningagain").Offset(z, 0) = Application.WorksheetFunction.Average(Rng1)
End If
此外,您可能需要正确定义 Range("runningagain")
,您的意思是 Range(runningagain)
吗?
关于vba - 无法获取worksheetfunction类的平均属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164857/