从 Excel 中的锚文本中提取 URL

从 Excel 中的锚文本中提取 URL

我已浏览过该帖子以寻找符合我的查询的内容,但大多数主题都很接近但不是针对我的。

我正在尝试从 Excel 中的锚文本中提取 URL。

有这个公式吗?当我尝试时=GETURL=HYPERLINK它仍然会放入与 URL 绑定的锚文本。

有什么想法吗?宏解决方案几乎没用,所以公式会更好。否则,就把宏交给我吧。

答案1

如果您有一个包含超链接的单元格,并且您希望看到 URL 而不是“友好名称”,那么请考虑以下用户定义函数 (UDF):

Public Function hyp(r As Range) As String
    hyp = ""
    If r.Hyperlinks.Count > 0 Then
        hyp = r.Hyperlinks(1).Address
        Exit Function
    End If
    If r.HasFormula Then
        rf = r.Formula
        dq = Chr(34)
        If InStr(rf, dq) = 0 Then
        Else
            hyp = Split(r.Formula, dq)(1)
        End If
    End If
End Function

此 UDF 可与插入的超链接和 =HYPERLINK() 函数一起使用。

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=hyp(A1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

有关 UDF 的详细信息

必须启用宏才能使其工作!

相关内容