【问题标题】:How to avoid HYPERLINK(link_location,[friendly_name]) adding double quotes to 'link_location' ref_text如何避免 HYPERLINK(link_location,[friendly_name]) 将双引号添加到 'link_location' ref_text
【发布时间】:2017-10-19 22:19:41
【问题描述】:

我使用的是 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 函数时遇到的具体问题。

有什么方法可以避免添加引号/语音标记并在将函数和文件名显式输入单元格时产生“悬停”/“飞越”功能?

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

非常感谢。

【问题讨论】:

  • indirect 在这里为您工作吗?
  • 感谢@ForwardEd - 我之前尝试过 INDIRECT 但它对我不起作用。但是,被您的建议拒绝了,我刚才在一个简单的示例上再次尝试了它,并意识到我一直在错误地应用它!我以前只在“Sheet_Loc_Short”“参考文本”周围应用 INDIRECT 函数,而我应该包装整个文本结构。当我下次有机会时,我会将它添加到完整的公式中,并确认一切都很好。非常感谢!
  • 由于您使用 HYPERLINK 作为公式,您可能对我在使用公式时遇到的this oddity 感兴趣
  • 感谢@ForwardEd - 这很有用。在讨论 HYPERLINK 时,我还遇到了另一个“奇怪”——即如果在公式中的任何位置提到 HYPERLINK,则输出将被格式化为 HYPERLINK。就我而言,我想要 'test = true' => result = HYPERLINK ,而 'test = false' => result = 纯文本。后者总是被格式化为 HYPERLINK。经过几个小时尝试调试一个相当复杂的公式,我最终发现了this useful information

标签: excel excel-formula vba


【解决方案1】:

间接()

在这种情况下,这个公式应该是你的朋友。它将文本地址转换为 excel 将实际收听的单元格引用。这里的主要警告是INDIRECT 仅适用于打开的工作簿。如果我没看错的话,这对你来说不是问题,只是需要牢记。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多