从Excel超链接中提取链接文本
我有一个旧的Excel工作表的超链接的集合。 我正在尝试使用此function从每个超链接中提取链接文本
Function GetURL(rng As Range)As String On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function
但它不适用于旧的超链接(这些链接是可点击的,他们工作),但是,如果新的超链接插入
命令+ K
我在两种方式创build的链接之间的差异是
旧的超链接显示在公式栏中
= HYPERLINK(“ http://www.genome.jp/kegg-bin/show_pathway?ko00620+C00058 ”,“ko00620”)
而当我使用命令+ k插入超链接时,公式栏只显示链接名称。
我如何从中提取链接文本?
= HYPERLINK(“ http://www.genome.jp/kegg-bin/show_pathway?ko00620+C00058 ”,“ko00620”)使用macros,Excel VBA?
我在这里看到另一个问题和答案,但我不知道如何实现该function。
在您的Excel表格中写入=HyperLinkText(A1)
。 根据需要给出单元格范围。 你将不得不在模块中添加下面的代码。
这与你在@RonRosenfeld提出的问题中提到的链接完全相同
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