Excel 使用参考工作表名称

Excel 使用参考工作表名称

我四处寻找并尝试解决这个问题,但是我不熟悉编码。

这是我的代码行,

='[WorkBook]BOM'!G6

我想要做的是让工作簿调用一个单元格,这样我就可以批量替换所有“工作簿”名称,而无需查找和替换。

本质上是这样的(虽然此代码不起作用,但仅供参考)

='[=E1]BOM'!G6

然后,在单元格 E1 中,我可以输入任何我想要的文本来替换工作簿名称。我正在尝试找到公式来执行此操作。

答案1

您应该使用该INDIRECT()函数来评估文本字符串作为函数。

=INDIRECT("'["& E1 & "]BOM'!G6")

请注意,仅当引用的工作簿打开时,该INDIRECT()函数才会返回值。否则它将返回 -error #REF!

答案2

INDIRECT无法与关闭的外部工作簿配合使用。自动化的最佳选择似乎是将工作簿路径放在单元格中,然后编写一个宏,该宏将查找/替换所有出现的旧工作簿名称并替换为新工作簿名称。

答案3

我的解决方案是让您引用一个范围,但前提是您先命名它们。

例如,您将工作簿 1 中的范围 A1:A100 命名为 MyRange

然后,您可以在当前工作簿中在工作簿 2 的 E1 中输入“MyRange”

然后使用 INDIRECT(E1)

相关内容