Excel 16.61如何将列内超链接批量转换为自定义友好显示名称
Excel批量修改超链接显示文本实操方案(适配16.61版本)
之前公式失效原因
- 你之前写的公式混入了HTML的
<a>标签语法,Excel原生HYPERLINK函数不识别HTML格式,同时友好名称参数不需要额外加方括号,语法错误直接导致公式无法生效。
方法1:函数法(适合原始链接为纯文本URL的场景)
如果你的超链接是直接以URL文本形式存在单元格里,按以下步骤操作:
- 在存链接的列旁插入空白辅助列
- 假设原始链接从A2单元格开始,在辅助列首个单元格输入对应公式:
- 要统一显示固定友好名:
=HYPERLINK(A2, "example") - 要自动提取链接域名作为友好名:
=HYPERLINK(A2, TEXTBEFORE(TEXTAFTER(A2,"//"),"/"))
- 要统一显示固定友好名:
- 选中首个单元格下拉填充整列,就能批量生成可点击、显示友好名称的超链接
- 填充完成后选中辅助列所有内容,右键复制,再右键选择「粘贴为值」,即可删除原始链接列,保留处理好的超链接。
方法2:VBA批量修改(适合单元格已经插入内置超链接的场景)
如果你的单元格已经是点击可跳转的内置超链接,只是显示文本是完整URL,用宏批量处理效率最高:
- 按快捷键
Option+F11打开VBA编辑器 - 在左侧工程栏右键点击当前工作簿名称,选择「插入」-「模块」
- 将以下代码粘贴到弹出的模块编辑窗口:
Sub BatchUpdateHyperlinkText() Dim selectRng As Range, currentLink As Hyperlink On Error Resume Next Set selectRng = Application.InputBox("框选需要处理的超链接范围", Type:=8) If Not selectRng Is Nothing Then For Each currentLink In selectRng.Hyperlinks ' 以下二选一定义显示规则 ' 规则1:自动提取域名作为显示文本 currentLink.TextToDisplay = Split(Split(currentLink.Address, "//")(1), "/")(0) ' 规则2:统一显示固定文本,把下面一行前面的单引号去掉,注释掉上面规则1的行即可 ' currentLink.TextToDisplay = "example" Next End If End Sub
- 按
F5运行宏,按照弹窗提示框选你要处理的超链接列,确认后即可批量完成所有超链接的显示文本替换,不需要额外插入辅助列。
注意:Mac版Excel运行宏前,需要先打开「偏好设置」-「安全性」,勾选启用宏的相关选项,处理完成后可改回原有安全配置。
内容的提问来源于stack exchange,提问作者rolipoli12345
相关产品推荐
相关产品推荐

