我正在尝试使用Excel公式来平均过去12个月的值,并将其与当前月份值(在这种情况下为RC[-2]-RC[-1]
和30%的差异)进行比较。
问题是行更改,它嵌套在循环中。
代码下方:
Dim i As Long
Dim o As Double
Dim p As Double
'some code here
For i = 1 To n
Selection.Value = "=RC[-2]-RC[-1]"
o = ActiveCell.Value
p = Application.Formula.Average(Range("RC[-13]", "RC[-2]"))
If (o >= (p + p * 3 / 10)) Or (o < (p + p * 3 / 10)) Then
ActiveCell.Font.Color = vbRed
End If
ActiveCell.Offset(1, 0).Select
Next i
关于如何在没有单独的平均函数的情况下定义平均值的任何想法?
答案 0 :(得分:1)
将Selection.Value = "=RC[-2]-RC[-1]"
更改为Selection.Value = Offset(0, -2).Value - Offset(0, -1).Value
。
然后,声明一些范围变量:Dim rng As Range
,然后使用过去12个月的数据将其设置为范围并计算平均值:
Set rng = Range(Selection.Offset(0, -13), Selection.Offset(0, -2))
p = Application.Average(rng)
答案 1 :(得分:0)
找到ActiveCell.Offset(0, 1).Value = "=AVERAGE(RC[-13]:RC[-2])"
的解决方法。
感谢您的时间!