如何使用引用另一个 WS 和变量范围的变量 WS 名称以及 MIN 函数



我有一个名为 Stats 的 WS,我想用 MINIMUM 填充一列。 数据位于同一个 WB 中,但在另一个名为 Data 的 WS 上。数据以行为单位,因此将对范围 B 到 IQ 列执行最小计算。我需要计算第 14 行到 1868 行的 MIN。

以下代码有效,但数据的名称和范围是硬编码的:

Worksheets("Stats").Range("B14:B1868").Formula = "=MIN(Data!B58:IQ58)"

所以我的问题是每个工作簿都有不同的数据工作表名称。 我的宏必须适用于所有 WB。

我尝试了间接函数,此配置仅适用于一行数据,并使用相同的数字填充列的其余部分(请注意,$A$2 是包含数据的工作表名称的位置(:

Worksheets("Stats").Range("B14:B1868").Formula = "=MIN(Indirect($A$2&""!B58:IQ58"")"

我已经尝试了许多不同的配置,但无法弄清楚这个。我会得到一个名字或一个参考错误...这让我发疯了,希望这里有人能帮助我!

提前感谢:-(

您可以像

使用字符串文本一样轻松地使用单元格引用的值。

(那里有似曾相识的感觉 - 我今天早上写了作为答案的一部分!

因此,而不是将"数据"硬编码到公式中

Worksheets("Stats").Range("B14:B1868").Formula = "=MIN(Data!B58:IQ58)"

您可以从单元格中插入值

Worksheets("Stats").Range("B14:B1868").Formula = "=MIN('" & Worksheets("Stats").Range("A2").Value & "'!B58:IQ58)"

(我还在工作表名称周围添加了撇号,以防万一它包含空格或其他特殊字符。

最新更新