Excel如何把单元格内的超链接地址提取出来?

答:需要把文件另存为“Excel启用宏的工作簿(*.xlsm)”,然后借助VBA编写函数提取单元格内的超链接地址。

具体步骤如下:

一、打开 VBA 窗口

在功能区找到“开发工具”选项区,点击“Visual Basic”打开VBA窗口。

备注:如果找不到“开发工具”,需要点击“开始”,找到“选项”,然后在“自定义功能区”处,把主选项卡内的“开发工具”勾选上。

二、编写自定义函数代码GetLinkAddress

在VBA窗口的左侧点击右键,依次选择“插入”->“模块”。

然后在右侧空白处输入如下代码:

Function GetLinkAddress(CellInstance)
    Application.Volatile True
    With CellInstance.Hyperlinks(1)
        GetLinkAddress = IIf(.Address = "", .SubAddress, .Address)
    End With
End Function

三、保存为 “Excel启用宏的工作簿(*.xlsm)”

眼尖的网友可能发现了,左边的VBAProject变成了“.xlsm”,而不是常见的“.xls”或者“.xlsx”,因为当你选择保存的时候,它会提示您无法保存这些代码。这个时候要选择否,然后将文件另存为“Excel启用宏的工作簿(*.xlsm)” 。

保存后建议关闭,然后重新打开,以免无法正常运行。

四、 执行自定义函数代码GetLinkAddress

回到工作簿,在需要提取链接的右边输入“=GetLinkAddress(单元格位置)”,比如“= GetLinkAddress (A2)”。即可提取成功。

如有需要,可拖动填充。

最终效果如下。

本页永久链接:https://www.orztip.com/?p=300&article_title=how-to-extract-urls-from-hyperlinks-in-excel