【发布时间】:2020-01-10 14:08:45
【问题描述】:
在相同和不同工作簿中引用工作表的正确语法是什么?
我在AbleBits 找到了这个问题的详细解答。但是,那里给出的语法在 hyperlink 函数中不起作用。函数的Microsoft's documentation 提供了许多此类引用的示例,但不包括两种非常重要的情况:同一工作簿中的不同工作表,以及名称中包含空格的工作表。
我通过反复试验找出了正确的语法,并发布此问题是为了提供答案。
【问题讨论】:
在相同和不同工作簿中引用工作表的正确语法是什么?
我在AbleBits 找到了这个问题的详细解答。但是,那里给出的语法在 hyperlink 函数中不起作用。函数的Microsoft's documentation 提供了许多此类引用的示例,但不包括两种非常重要的情况:同一工作簿中的不同工作表,以及名称中包含空格的工作表。
我通过反复试验找出了正确的语法,并发布此问题是为了提供答案。
【问题讨论】:
一般使用的参考,hyperlink 函数除外:
引用同一工作簿中另一个工作表中的范围:
'<sheet name>'!<range>
在打开的工作簿中引用范围:
'[<filename>]<sheet name>'!<range>
引用任何工作簿中的范围,打开或关闭:
'<path>[<filename>]<sheet name>'!<range>
如果文件关闭,最后一个在indirect 函数中不起作用。 indirect 就是 does not work on closed files。我还没有找到任何方法可以直接引用已关闭工作簿中的数据。
单引号 ' 对于其中包含空格的工作表名称是必需的,此处包含用于适用于所有工作表名称的一般语法。
此处显示的括号[] 是实际的括号,而不是表示可选语法元素的符号,因为此类括号通常用于语法公式中。
来源:How to create external reference in Excel to refer to another sheet or workbook,AbleBits.com,2015 年 12 月 8 日
hyperlink 函数中的引用:
引用同一工作簿中另一个工作表中的范围:
#'<sheet name>'!<range>
在打开的工作簿中引用范围:
[<filename>]'<sheet name>'!<range>
引用任何工作簿中的范围,打开或关闭:
[<path><filename>]'<sheet name>'!<range>
来源:HYPERLINK function,微软,除了没有说明# 或' 的使用,我必须通过反复试验才能弄清楚。
一般引用与hyperlink 之间的差异:
hyperlink 中,对同一工作簿中另一个工作表中的范围的引用以# 开头。' 将感叹号! 之前的所有内容都括起来,但在hyperlink 中,它们仅将工作表名称括起来。[] 仅包含文件名,但在超链接中,它们还包含可选路径。我想知道是否有人认为此处所述的语法有任何问题。我还想知道是否有人对hyperlink 中的引用的正确语法有参考,以及任何官方的 Microsoft 文档,而不是给出的 AbleBits 参考。
【讨论】: