在 Excel 中,我有一列链接,显示文本而不是实际链接。
我确实需要链接,有没有办法批量转换整个列以便显示链接?否则我将不得不单击每个链接,在浏览器中打开它,然后复制并粘贴地址...
另外,我使用的是 Mac 版 Excel 2008,所以看起来我无法执行宏...
答案1
简短回答:如果没有 VBA 就无法实现自动化。
手动的
这是在 Windows 7 计算机上;只需将快捷方式替换为相应的 Mac 快捷方式即可。
- 突出显示带有超链接的单元格。
- 按CTRL+ K。这将打开超链接对话框(见下图)。打开后,你会发现光标已经在地址字段中。
- 按CTRL+A突出显示整个 URL。
- 按CTRL+C复制。
- 按ESC或Enter关闭超链接对话框。
- 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