如何避免HYPERLINK(link_location,[friendly_name])在'link_location'ref_text

时间:2017-10-19 08:29:09

标签: excel excel-vba excel-formula vba

我正在使用Mac并使用Excel 15.18版(如“关于Excel”中所述),尽管最终工作簿的预期用途是Mac和Win环境。

我正在尝试在Workbook_1中实现“悬停”或“悬浮”工具,其中来自Workbook_2的大量复合数据可被视为“悬停”或“悬浮”摘要。我怀疑实现这一目标的最佳方法是通过VBA,但我的VBA(实际上是一般编程)技能非常薄(我偶尔也是休闲编码器,虽然偶尔会做一些工作,比如这个),尽管VBA选项可能是我可以及时调查的东西,我需要在短期内更快一点,而且无论如何,我的工作簿的其余部分实际上就在那里。

我正在寻找一种机制(如果存在的话),以避免HYPERLINK(link_location,[friendly_name])在对包含文本的单元格的引用时为“link_location”添加双引号。

我知道......

=HYPERLINK("[/Users/joc25/Desktop/Report_Audio_Current_171017.xlsx]Sheet1!R10C2","W")

...将打开辅助工作簿并突出显示该工作簿中的单元格R10C2,在当前工作簿的单元格中显示“W”。

但是,通过好奇的实验,我偶然发现了......

=HYPERLINK([Report_Audio_Current_171017.xlsx]Sheet1!R10C2,"X")

...虽然它实际上不会打开链接(对我来说不是问题)会(如果描述的文件是打开的,它将会是)将显示R10C2单元格的内容(在辅助工作簿中)作为“悬停”摘要(在当前的工作簿中),这正是我想要实现的!但是,这仅在上述HYPERLINK功能的突变/滥用被明确写入工作簿单元格时才有效,而这对我来说是不可能的。我需要'link_location'是动态的,基于其他单元格中的用户选择。

因此,如果Workbook_1中的单元格包含...

=HYPERLINK(Sheet_Loc_Short&"R10C2","Y")

...范围'Sheet_Loc_Short'包含...

="["&R35C49&R36C49&R37C49&"]Sheet1!"

...其中单个单元格引用包含用于构建完整文件名的单个文本,并在计算时有效地将文件位置和路径转换为(例如)...

[Report_Audio_Current_171017.xlsx]Sheet1!R10C2

..最终的功能变成......

=HYPERLINK("[Report_Audio_Current_171017.xlsx]Sheet1!R10C2","Z")

...它不能以上述“黑客”方式运作。

请注意,实际上,目标文件将更改(日期)并且目标单元格/范围将发生变化(通过基于不同条件的某些匹配),但是对于本练习,我一直努力保持这种简单并参考我在构建HYPERLINK功能时面临的具体问题。

有没有办法避免添加引号/语音标记,并且在将函数和文件名明确输入单元格时可以产生“悬停”/“悬浮”功能?

这里的第一个问题,所以请放轻松我!

非常感谢。

1 个答案:

答案 0 :(得分:1)

INDIRECT()

在这种情况下,这个公式应该是你的朋友。它将文本地址转换为excel将实际监听的单元格引用。这里的主要警告是INDIRECT只适用于打开的工作簿。如果我正确阅读对你来说不是问题,那就要记住了。