Excel:转换带有超链接的列以仅显示链接


21

在Excel中,我有一列显示文本而不是实际链接的链接。

我实际上需要链接,有没有一种方法可以批量转换整个列,以便暴露链接?否则,我将不得不单击每个链接,在浏览器中将其打开,然后复制并粘贴地址...

另外,我在Mac上使用Excel 2008,所以看起来我无法执行宏...

Answers:


37

简短的答案:没有VBA,您将无法自动化。

手册

这是在Windows 7计算机上。只需将快捷方式替换为相应的Mac对应版本即可。

  1. 突出显示带有超链接的单元格。
  2. CTRL+ K。这将打开超链接对话框(请参见下图)。打开后,您会发现光标已经在“地址”字段中。
  3. CTRL+ A突出显示整个URL。
  4. CTRL+ C复制它。
  5. ESCEnter关闭“超链接”对话框。
  6. 通过CTRL+ 将URL粘贴到某处V

在此处输入图片说明

VBA

这是可以使用它的VBA解决方案。

使用以下代码创建VBA模块:

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

要使用,请在任何单元格中输入以下内容:

=GetURL(A1)

其中A1包含一个超链接。

工作中的功能:

在此处输入图片说明


9
那是一个很棒的片段。对于那些想知道如何将此代码添加到他们的工作表中的人...按Alt + F11以显示Visual Basic编辑器。然后单击“插入->模块”。将提供的代码Ellesa粘贴到文本区域中,然后可以关闭VBE并开始使用该功能。
BA_Webimax 2015年

我需要重新学习将用户功能添加到Excel的理由。原因是4060个活动(嵌入式)链接的列表。这篇(Ellesa的)帖子就是答案。@BA_Webimax,甚至使我不必记住如何添加它。与添加功能和修复XLS相比,我花了更长的时间编写此注释。
马克

+30,这就是使这个网站很棒的原因(:
jwd

6

这听起来像是一种蛮力方法,但这是我想出的最好方法。(一个小时前我自己遇到相同的问题时,我发现了此页面……您可以花一整天的时间进行查找,但有时这样做和完成起来会更容易。)

1)仅将包含超链接的单元格复制并粘贴到新的电子表格中。

2)导出电子表格,单击“更改文件类型”,选择“另存为其他文件类型”,然后将其另存为网页(也称为HTML文件)。

3)在浏览器中打开网页并查看源。

4)复制源并将其粘贴到文本编辑器中。

5)使用文本编辑器的“查找/替换”功能,删除每个超链接的开头和结尾文本。(换句话说,不要用“:”替换该文本)。请注意,每个超级链接的文本都应该相同。

6)您现在应该有了一个文本文件,除了超链接之外什么都没有。根据需要将其复制并粘贴回原始电子表格中,或者在任何希望的地方使用。

编辑以表明您可以实际导出到HTM的单独文件。关闭文件,然后再次在Excel中重新打开文件,它将解决问题。= Hyperlink公式消失了,链接被转换为常规链接。这种方法节省了我几个小时,而且非常简单,而且我不必处理脚本或公式,VBA或宏。


5

我使用Mac,这对我有用:突出显示您需要转换的列,在“插入”菜单上,打开“超链接”。删除显示在显示框中的所有文本。如果您的显示文本在单元格中不同,则会显示“ [选择多个单元格””。单击确定后,只有链接将出现在工作表上。如果需要转换单个单元格而不是整个列,请突出显示需要转换的所有单元格,右键单击,选择“编辑超链接”,然后按照相同的步骤删除“显示”框中的文本。


辉煌。比VBA更容易!
汤姆·奥格”

这是一个很好的提示!!!
FFrewin

1
不幸的是,这似乎不适用于Windows(10),Excel(2016)。
肯尼·LJ

0

我确定有VBA,但是与此同时,右键单击H,然后将地址复制并粘贴到屏幕上以显示框


0

自问这个问题以来,多年来,Excel添加了该=GetURL(cell)功能,因此无需删除自己的VBA即可执行此操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.