【发布时间】:2020-01-21 14:40:23
【问题描述】:
进行了几个小时的搜索,但还没有完全找到我要找的东西。我通常在搜索“从公式中提取范围值”等内容,但它并没有真正给我我需要的东西。我什至在输入标题时浏览了“类似问题”部分。
我完全依赖于寻求有关如何编写 VBA 的 sn-ps 的帮助,到目前为止我做得很好。
我想做什么:
好的,我会根据 Pᴇʜ 的建议澄清我要做什么
- 我有一个包含数千行数据(10k - 30k 行)的工作表
- 以前的员工已经手动完成了这些操作,并在原始数据之间手动输入了 Avg、Min、Max、Std Dev 行。上面计算的行数并不总是一致的(有时是 60 行,有时是 35 行等)
- 我正在通过搜索文本“Avg”来搜索底部或末尾行。这很好用。只需找到带有“AVG”的单元格,然后向上移动 1 个单元格,这就是我的结束时间。
到目前为止我无法做的是找到 START 行(使用循环,因为其中有很多。每个工作表有 30、40、50 个。可能有 60 个工作表。所以效率低下手动执行此操作)
唯一可靠的方法是使用可用的公式 - (例如,
=AVERAGE(C50:C110))。我将始终选择 AVERAGE 公式,它始终是一组范围,而不是多组(每个示例)。- 正如我所提到的,我需要从此公式中提取起始行并将其返回,以便我可以使用它来指定要复制和粘贴的单元格,并为每个数据集反复执行此操作。李>
希望这能澄清我的情况。我尽量不说得太详细,但事后看来这不是最好的主意。
我很抱歉。
Scott_Craner's Link to arcadeprecint's answer应该有效。我只需要修改它以使用循环。
提示?
【问题讨论】:
-
公式总是
AVERAGE公式吗?如果不是,如果公式包含多个范围怎么办? -
请提供您在尝试中使用的代码,以及您可能收到的任何错误。
-
你可以使用
Range.Precedents。