VBA代码:平均列到右(列的变量数)

时间:2018-06-08 17:53:18

标签: excel excel-vba vba

我正在编写一个代码,它会在具有不同列数的数据集中将所有值平均到左侧。例如,如果我的数据集是A1:AC1,那么我使用了代码

ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-28]:RC[-2])"

此代码用于查找单元格B1:AB1的平均值,这正是我在此实例中所需的,但如果我的下一个数据集有40列,则此代码将仅对引用的26个单元格求平均值。我到处研究过,发现我应该以某种方式首先计算左边的列,然后在平均函数中使用它,但我不确定如何完成这个。如何编写一个代码来平均活动单元格左侧的所有值,而不管它有多少列?

1 个答案:

答案 0 :(得分:1)

你很亲近,只是:

  1. 不要在起始范围内使用相对参考。
  2. 保持结束范围相对。
  3. 试试这个:

    ActiveCell.FormulaR1C1 = "=AVERAGE(RC2:RC[-2])"
    

    例如,这将始终在当前单元格的B列和结束2列中开始。

    希望有意义/有帮助。