【发布时间】:2012-07-13 01:58:07
【问题描述】:
我正在尝试获取一个简单的 VBA 代码作为宏的一部分,该宏将在 B 列中放置每行值的平均值。 我有生成时间序列的代码,并在每个模拟中填充一列,这样每一列都是从 C 列开始的时间序列。 模拟的数量各不相同,所以我只需要对每个时间点(即所有模拟中的每一行)的值进行平均,同时调整运行的模拟数量(填充的列)。然后,我希望它生成所有时间序列的单个图表,突出显示计算的平均值。 如果您能提供帮助,非常感谢!
例如,这里的代码从 sheet1 中获取时间步长的值并将其放入 columnA sheet2 中。我希望宏现在将平均值放在 B 列下方的适当行中:
Sheets("Sheet1").Select
Range("E5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet2").Select
Cells(1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
【问题讨论】:
-
您可以使用平均公式。示例 =AVERAGE(C1:AA1)。 AVERAGE 将获取范围内每个具有值的单元格的平均值。因此,如果您引用 10 个单元格,但只有 2 个有值,它将提供 2 个的平均值。
-
我同意 Daniel 的观点 - 为什么不直接使用内置的
AVERAGE函数。您可以添加电子表格的屏幕打印吗? -
感谢 cmets。我想将此功能合并为自动生成这些时间序列的宏的一部分。由于我不知道会有多少列(可能是数百列),并且我可能不得不多次重复模拟,因此需要将其合并为该宏的一部分。我已经更新了问题并更详细地说明了你要求。