首页 > 解决方案 > 将 HYPERLINK() - 转换为带有底层链接的文本

问题描述

假设我有一列有很多(数百)行,每行都有一个 HYPERLINK 公式,例如

=HYPERLINK("https://npiregistry.cms.hhs.gov/registry/provider-view/99999", "99999")

如何将所有内容转换为包含文本的单元格 - 但具有基础链接(如使用 CTRL-K),例如99999

谢谢!

标签: excelexcel-formula

解决方案


经过进一步调查,问题不是Excel for Mac的安全设置,而是超链接公式由2个单元格引用组成;显示文本和链接。

插入/替换超链接到单元格的 VBA 函数如下所示。

ActiveSheet.Hyperlinks.Add Anchor:=current_range, Address:=address_string, TextToDisplay:=display_string

在您的情况下,您必须替换 VBA 语法中的 current_range、address_string 和 display_string。

在我上面的示例中,由于我们使用 For 循环来遍历选择中的所有单元格,因此您可以将其保留为current_range

对于address_stringdisplay_string,您将在您的电子表格上向函数提供这两个单元格的位置。由于您的电子表格将地址字符串存储在两个单独的列中,因此您希望通过使用熟悉的单元格引用格式 Range("$C" & current_range.row) 格式来引用该列,或者使用偏移方法,这涉及在计算列的索引。例如,current_range.offset(0, -10).value。偏移量中的 -10 是您想要从 current_range 向左移动的列数。

请注意,在单元格引用的后面添加 .value 非常重要,这样它就可以获取存储在单元格中的数据(字符串)而不是单元格中的潜在公式。


推荐阅读