从超链接中提取URL(Microsoft Excel)
Mezga有一系列包含超链接的单元格。这些超链接由诸如“单击此处”或“更多信息”之类的词组成。换句话说,每个超链接包含的显示文本与单击链接时激活的基础URL不同。 Mezga想知道是否存在一种无需使用宏即可提取每个超链接的基础URL并将该URL放入不同单元格的方法。
在不使用宏的情况下,您可以这样做:
。右键单击超链接。您会看到一个上下文菜单出现。
。从上下文菜单中,选择“编辑超链接”。 Excel将显示“编辑超链接”对话框。 (请参见图1。)
。从对话框的“地址”字段中选择并复制(Ctrl + C)整个URL。
。按Esc键关闭“编辑超链接”对话框。
。将URL粘贴到所需的任何单元格中。
请注意,这是针对单个超链接的。如果工作表中有一堆超链接,并且想要恢复URL,则需要对每个超链接执行此操作。显然,这会很快变得乏味。
无论是否喜欢,乏味的治疗都是一个宏。使用宏,获取超链接的基础URL是孩子的事。宏需要做的就是注意超链接的Address属性。
下面是一个宏的示例,该宏将在工作表中找到每个超链接,提取每个URL的URL,然后将该URL粘贴在单元格中直接位于超链接的右侧。
Sub ExtractHL() Dim HL As Hyperlink For Each HL In ActiveSheet.Hyperlinks HL.Range.Offset(0, 1).Value = HL.Address Next End Sub
除了“蛮力”宏,您还可以创建一个用户定义的函数,该函数将提取并返回指向它的任何超链接的URL:
Function GetURL(rng As Range) As String On Error Resume Next GetURL = rng.Hyperlinks(1).Address End Function
在这种情况下,您可以将其放置在所需的位置。例如,如果要在单元格C25中列出来自A1中超链接的URL,则在单元格C25中,您将输入以下公式:
=GetURL(A1)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(9815)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: