UDF 在工作簿中创建指向位置的超链接

Posted

技术标签:

【中文标题】UDF 在工作簿中创建指向位置的超链接【英文标题】:UDF to Create Hyperlink to Location in Workbook 【发布时间】:2018-10-12 16:42:39 【问题描述】:

我正在为 Excel UDF 寻找 VBA,该 UDF 创建指向活动工作簿的指定单元格(“MyCell”)的超链接。 MyCell 可以位于包含 UDF 的工作簿的任何工作表上。到目前为止,我看到的所有示例都太复杂了,无法正确编辑代码。

Function MyHyperLink(MyCell)

'Code?

End Function

提前谢谢你。

【问题讨论】:

但是如果它是一个UDF,它怎么会是“可点击的”呢?你能否解释一下为什么HYPERLINK 功能不够好? 哎呀@BigBen,我忘记了它的存在。看起来它完全符合 OP 的要求。现在我对我的回答有点尴尬。我想这就是我们保持敏锐的方式。哈哈。 【参考方案1】:

您想要做的事情有两个部分。一是获取超链接目标的地址。另一个是提供要放置超链接的单元格。据我所知,您无法创建将在单元格中返回超链接的 UDF。所以,这就是我要做的。

Sub MakeHyperLink(linkLocation as Range, linkTarget as Range, displayText as String)

    Dim targetAddress as String
    Dim locationSheet as Worksheet

    ' Get a string form of the hyperlink address
    targetAddress = "'" & linkTarget.Parent.Name & "'!" & linkTarget.Address

    ' Get the sheet where the link will go.
    Set locationSheet linkLocation.Parent;

    ' Add the hyperlink
    locationSheet.Hyperlinks.Add Anchor:=linkLocation, _
                                 Address:="", _
                                 subAddress:=targetAddress, _
                                 TextToDisplay:=displayText
End Sub

【讨论】:

...或使用 =HYPERLINK() BigBen 对您的 OP 的评论中建议的功能。 我有一个 UDF 解决方案,它使用 HYPERLINKI() 和上面宏的第一部分。我只是认为一个 UDF 看起来比在本机函数中使用 UDF 更干净。如果不麻烦创建 UDF,不妨一口气完成所有工作。如果 HYPERLINK() 是可调用的,那就太酷了。

以上是关于UDF 在工作簿中创建指向位置的超链接的主要内容,如果未能解决你的问题,请参考以下文章

Excel UDF 在已关闭的工作簿中引用表以进行查找

WPS表格出现“此工作簿包含其他数据的链接,是不是更新这些链接”怎么解决

在Excel中创建工作簿的默认名称是 excel是电子表格软件

另一个工作簿中的更改会影响主工作簿中的 UDF

请参阅其他工作簿中的 UDF 参数说明

VBA从添加到工作簿中导入udf模块