我有一个旧Excel表格中的超链接集合。我试图使用此功能从每个超链接中提取链接文本
函数GetURL(作为范围)作为字符串 On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function
但是它不适用于旧的超链接(这些链接是可点击的并且它们可以工作)但是如果使用
插入新的超链接,则该功能可以正常工作命令+ K
我在两种方式创建的链接之间看到的差异是
旧的超链接在公式栏中显示为
= HYPERLINK(" http://www.genome.jp/kegg-bin/show_pathway?ko00620+C00058"" ko00620&#34)
当我使用命令+ k插入超链接时,公式栏只显示链接名称。
如何从
中提取链接文本= HYPERLINK(" http://www.genome.jp/kegg-bin/show_pathway?ko00620+C00058"," ko00620")使用宏,Excel VBA?
我看到另一个问题并回答here,但我不知道如何实现该功能。
答案 0 :(得分:1)
在Excel工作表中写=HyperLinkText(A1)
。根据需要提供单元格范围。您必须在模块中添加以下代码。
这与你在@RonRosenfeld提出的问题中提到的link的答案完全相同
Option Explicit
Function HyperLinkText(rg As Range)
Dim sFormula As String, S As String
Dim L As Long
Dim H As Hyperlink, HS As Hyperlinks
sFormula = rg.Formula
L = InStr(1, sFormula, "HYPERLINK(""", vbBinaryCompare)
If L > 0 Then
S = Mid(sFormula, L + 11)
S = Left(S, InStr(S, """") - 1)
Else
Set HS = rg.Worksheet.Hyperlinks
For Each H In HS
If H.Range = rg Then
S = H.Address
End If
Next H
End If
HyperLinkText = S
End Function