首页 文章

Excel宏用于平均值

提问于
浏览
2

我有一个VBA脚本的问题 . 我想解决方案很简单,但我只是无法弄明白......

所以基本上,我有一个包含许多工作表的工作簿 . 每个工作表包含完全相同的表格格式(相同的行数和列数) . 我想要做的是创建一个新的工作表,并在该工作表中,获得所有这些值的平均值 .

因此,例如在单元格B2中,我希望从所有其他工作表中获得平均单元格B2 . 因此我创建了一个执行此操作的宏,这不是问题,但问题是,在该宏中,所有工作表都是通过其名称引用的,因为我有许多这些工作簿具有不同命名的工作表,这不起作用 . 因此,我试图将第一张纸的名称改为纸张的实际参考 - 即纸张(1),最后一张更改为纸张(x) - 其中x是我先前计算的纸张数量 . 不幸的是,代码不起作用,任何人都可以建议我如何修改它,以便它正常工作?我只是复制代码中有问题的部分:

x = Sheets.Count
Sheets.Add After:=Sheets(x)
Range("B2").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(Sheets(1):Sheets(x)!RC)"

1 回答

  • 2

    试试这个 . 你没有说明你的工作表名称(事实上,你甚至没有使用工作表名称 . 在公式的上下文中, Sheets(1) 是没有意义的 . 你需要使用 Sheets(1).Name 并适当地抵消它:

    "=AVERAGE('" & Sheets(1).Name & ":" & Sheets(x).Name & "'!RC)"
    

相关问题