John的工作簿中有超过一千个URL,所有URL都在A列中。它们是各个URL的纯文本。 John希望将URL转换为活动的超链接,但是单独进行转换非常繁琐,尤其是对于许多URL而言。

进行转换的一种方法是使用HYPERLINK函数。将此公式放在单元格B1中,并根据需要将其复制到尽可能多的单元格中:

=IF(A1="","",HYPERLINK(IF(LEFT(A1,7)="http://","","http://")&A1))

结果是B列将包含A列中所有内容的超链接。该公式不是非常可靠,因为它仅处理文本“ http://”的存在或缺失,您可能还需要处理使用“ https”地址。可以调整公式(即使其更复杂),但是您可能还需要考虑使用宏进行转换。

为了有效,宏将需要在选定范围内逐步遍历每个单元,并且,如果该单元不是空白,则将内容转换为超链接。以下将达到目的:

Sub URL_List()

Dim sTemp As String     Dim sURL As String     Dim cell As Range

For Each cell In Selection         If cell.Value <> "" Then             sTemp = Left(cell.Value, 7)

If sTemp = "http://" Or sTemp = "https:/" Then                 sURL = cell.Value             Else                 sURL = "http://" + cell.Value             End If             ActiveSheet.Hyperlinks.Add Anchor:=cell, _               Address:=sURL, TextToDisplay:=cell.Value         End If     Next cell End Sub

宏不是万无一失的。它假定,如果一个单元格根本不包含任何内容,则它是一个有效的URL。它的作用是检查单元格的内容,如果内容未以“ http://”或“ https:/”文本开头,则会添加前缀“ http://”。然后根据单元格内容创建超链接。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(5825)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处找到适用于Excel的较旧菜单界面的本技巧的版本: