Excel VBA AVERAGE(可变范围)
我试图使用一个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
任何想法如何定义平均没有一个单独的平均function?
将Selection.Value = "=RC[-2]-RC[-1]"
更改为Selection.Value = Offset(0, -2).Value - Offset(0, -1).Value
。
然后,声明一些范围variables: Dim rng As Range
,然后将其设置为范围与过去12个月的数据并计算平均值:
Set rng = Range(Selection.Offset(0, -13), Selection.Offset(0, -2)) p = Application.Average(rng)
与ActiveCell.Offset(0, 1).Value = "=AVERAGE(RC[-13]:RC[-2])"
find解决方法。
谢谢你的时间家伙!