【发布时间】:2014-09-17 13:00:21
【问题描述】:
我的 VBA 脚本有问题。我想解决方案很简单,但我就是想不通....
所以基本上,我有一个包含许多工作表的工作簿。每个工作表都包含完全相同的表格格式(相同的行数和列数)。我想做的是创建一个新的工作表,并在该工作表中包含所有这些值的平均值。
因此,例如在单元格 B2 中,我希望获得所有其他工作表中单元格 B2 的平均值。因此,我创建了一个宏来执行此操作,这不是问题,但是问题是,在该宏中,所有工作表都由它们的名称引用,并且由于我有许多具有不同名称工作表的工作簿,所以这不起作用.因此,我尝试将第一张工作表的名称更改为工作表的实际参考 - 即 Sheet(1) 和最后一个作为 Sheet(x) - 其中 x 是我之前计算的工作表数。不幸的是代码不起作用,有人可以向我建议如何修改它以使其正常工作吗?我只是复制代码中有问题的部分:
x = Sheets.Count
Sheets.Add After:=Sheets(x)
Range("B2").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(Sheets(1):Sheets(x)!RC)"
【问题讨论】:
-
嗯,我在 VB 中已经拥有的所有其他东西,我想这不是一个大问题,我认为它会有一个非常简单的解决方案 - 基本上我所需要的就是能够选择所有该工作簿中的工作表(创建的要显示平均值的工作表除外)
-
是的,但仍然没有运气
-
从我发现的情况来看,括号中的数字是指第 n 个工作表,所以第一个应该是 Sheets(1) 并且变量 x 是之前计算的并且等于工作表的数量(参见上面),所以我假设 Sheets(x) 然后会导致最后一个工作表