gpt4 book ai didi

vba - Excel VBA AVERAGE(可变范围)

转载 作者:行者123 更新时间:2023-12-01 07:23:18 24 4
gpt4 key购买 nike

我正在尝试使用一个 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

关于如何在没有单独的平均函数的情况下定义该平均值的任何想法?

最佳答案

Selection.Value = "=RC[-2]-RC[-1]" 更改为 Selection.Value = Offset(0, -2).Value - Offset(0 , -1). 值.

然后,声明一些范围变量:Dim rng As Range,然后将其设置为最近 12 个月的数据范围并计算平均值:

Set rng = Range(Selection.Offset(0, -13), Selection.Offset(0, -2))
p = Application.Average(rng)

关于vba - Excel VBA AVERAGE(可变范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45410281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com