Excel:将包含超链接的列转换为仅显示链接

Excel:将包含超链接的列转换为仅显示链接

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

我确实需要链接,有没有办法批量转换整个列以便显示链接?否则我将不得不单击每个链接,在浏览器中打开它,然后复制并粘贴地址...

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

答案1

简短回答:如果没有 VBA 就无法实现自动化。

手动的

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

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

在此处输入图片描述

虚拟专用网络

这里为那些可以使用它的人提供了一个 VBA 解决方案。

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

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

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

=GetURL(A1)

其中 A1 包含超链接。

工作中的功能:

在此处输入图片描述

答案2

这听起来可能像是一种蛮力方法,但这是我能想到的最好的方法。(一个小时前,我自己也遇到了同样的问题,于是发现了这个页面……你可能要花一整天时间寻找,但有时这样做更容易。)

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

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

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

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

5) 使用文本编辑器的“查找/替换”功能,删除每个超链接的前导文本和尾随文本。(换句话说,用空文本替换所述文本:“”)请注意,每个超链接的此文本应相同。

6) 您现在应该有一个只包含超链接的文本文件。根据需要将其复制并粘贴回原始电子表格中,或者使用任何您想要的方式/位置。

编辑后说明您实际上可以导出到单独的 HTM 文件。关闭文件并在 Excel 中重新打开它,这样就可以解决问题。=Hyperlink 公式消失了,链接被转换为常规链接。这种方法为我节省了数小时,非常简单,我不需要处理脚本、公式、VBA 或宏。

答案3

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

答案4

自从这个问题被问到 Excel 以来的几年里,我公司的某个人将这个=GetURL(cell)函数添加到我们的全局 XLAM 文件中,我认为它是基础 Excel 的一部分。这是 VBA...

Public Function GetURL(cell As Range, Optional default_value As Variant) As Variant
      Dim output As Variant
      If (cell.Range("A1").Hyperlinks.Count <> 1) Then
          output = default_value
      Else
          output = cell.Range("A1").Hyperlinks(1).Address
      End If
      GetURL = output
End Function

相关内容