如果Excel表格单元格中包含有许多用文本形式显示的超链接,如“给我发邮件”、“访问我的网站”等,要逐一查看所有超链接的地址,用手工的方法显得太繁琐,我们可以用自定义函数来批量提取这些超链接中的地址,将下列代码插入到标准模块中:

Function GetURL(rng As Range) As String
    On Error Resume Next
    GetURL = rng.Hyperlinks(1).Address
End Function

    使用方法是在单元格中输入公式,假如单元格D6中含有超链接:

    =geturl(D6)

    还可以使用下面的代码将工作表中的所有超链接地址全部显示出来,运行代码前先备份工作簿,因为它会在含有超链接的单元格的右侧显示其地址,有可能会破坏工作表结构。

Sub ExtractHL()
    Dim HL As Hyperlink
    For Each HL In ActiveSheet.Hyperlinks
        HL.Range.Offset(0, 1).Value = HL.Address
    Next
End Sub