【发布时间】:2021-07-29 14:44:22
【问题描述】:
我一直在尝试查找/编写一个宏,它可以一次打开所选范围内包含的所有超链接。我遇到的代码仅适用于某些类型的超链接,特别是通过右键单击/插入>链接/Ctrl+K 添加的超链接。该代码无法识别使用 HYPERLINK() 函数形成的任何超链接。
这是我在网上找到的代码:
Sub OpenMultipleLinks()
On Error Resume Next
Set myRange = Application.Selection
Set myRange = Application.InputBox("Range", "OpenMultipleLinks", myRange.Address, Type:=8)
For Each oneLink In myRange.Hyperlinks
oneLink.Follow
Next
End Sub
这是变成超链接的单元格的公式。
=IF($D2="All Charts","",HYPERLINK("http://SubstituteWebsite/ChartId="&$D2&$AF$1,"link"))
【问题讨论】:
-
Hyperlinks集合仅包含插入的超链接。另一个是Formula。公式的HYPERLINK部分只能在特殊情况下起作用。在你的情况下,只有$D2="All Charts"。即使不满足此条件,您是否愿意关注超链接?您是否要评估整个公式并仅在条件为真时点击超链接?如果是,那么只有当我们可以假设您向我们展示的公式是适用于所有公式的一般模式时,这才是可能的。那么,从这个角度来看,您需要什么? -
那么,您的所有公式都尊重您发布的模式吗?我的意思是,链接字符串是从根与两个串联单元值的串联构建的......
-
我选择的所有单元格都将遵循此结构,$D2 单元格是图表 ID,$AF$1 单元格是用于创建有效链接的文本字符串的后半部分。如果chartID 改为“所有图表”,则该公式将返回空白,因为来自某些图表的数据与存储数据的位置相同。我认为 excel 在这两种情况下都奇怪地创建了超链接,因为我无法向这些“空白”单元格添加超链接。我想要的是一个可以为我打开所有这些链接的宏。
-
那么,你测试我发布的解决方案了吗?