带超链接的 VLOOKUP 的 VBA 解决方案

带超链接的 VLOOKUP 的 VBA 解决方案

我正在寻找一些有关在 Excel(2010)上使用 VLOOKUP 时保留超链接的 VBA 解决方案的帮助。

我在 Sheet 1 上有大量数据仅供内部使用,在 Sheet 2 上有一个精简版数据。我希望有一个工作版本,每次 Sheet1 更新时都会更新,而不是每次都重新创建 Sheet 2。因此,我在 Sheet 2 上使用了 VLOOKUP,这样 Sheet 2 上只会返回所需的信息。

然而,问题曾是Sheet 1 中的许多单元格包含指向外部网站的超链接,而使用 VLOOKUP 无法将其拉到 Sheet2。不过,借助以下 VBA 解决方案,现在超链接可以拉到 Sheet2:

Function GetHyperLink(r As Range) As String
If r.Hyperlinks.Count Then
GetHyperLink = r.Hyperlinks(1).Address
End If
End Function

我在 Sheet2 中的相关单元格中使用以下公式:

=HYPERLINK(GetHyperLink(INDEX('Sheet 1'!$B$1:$B$10001,MATCH(A4,'Sheet 1'!$A$1:$A$10001,0))),(VLOOKUP(A4,'Sheet 1'!$A$1:$B$10001,2,FALSE)))

但是,那问题格式如下:每一个Sheet2 上的单元格被格式化为蓝色并带有下划线,即使其中一些不包含超链接!

有人能用 VBA 解决方案/公式来帮助解决这个难题的最后一部分吗?

非常感谢,提前致谢。

答案1

一旦页面上有几个超链接,Excel 似乎就会随机应用超链接格式。您可以更改此行为,使其永远不会自动执行此操作(因此您始终必须使用超链接),请在“校对”->“自动更正”->“键入时自动套用格式”中更改此设置。

至于修复当前工作表,您可以清除->清除格式并重新格式化页面。

在此处输入图片描述

相关内容