如何使经公式合并后的URL链接保持可点击状态?
解决合并后超链接失效的方法
直接重构HYPERLINK公式
别把HYPERLINK的结果和其他文本直接拼接,而是把合并后的全部内容作为HYPERLINK的显示文本,指定好对应链接地址。比如要保留原链接,公式可以这么写:=HYPERLINK("http://www.google.com", CONCATENATE(A1, CHAR(10), A2, A3, A4))
这样单元格显示的是合并后的完整内容,且关联了原链接(如果只想让网址文字单独可点击,看后面的方法)。动态提取原单元格链接地址
如果A1的链接是动态变化的,不想手动写死URL,可以用宏表函数提取:- 点击「公式」选项卡→「定义名称」,名称设为
GetLink,引用位置输入=GET.CELL(1,A1)后确定。 - 用这个名称写公式:
=HYPERLINK(GetLink, CONCATENATE(A1, CHAR(10), A2, A3, A4))
注意:宏表函数需要启用宏,文件要存为.xlsm格式。
- 点击「公式」选项卡→「定义名称」,名称设为
手动添加超链接(适合少量数据)
双击合并后的单元格进入编辑模式,选中里面的网址文本,右键选「超链接」,输入对应URL即可,这样只有选中的网址部分会变成可点击链接。VBA批量处理(适合大量数据)
要是有很多行需要处理,写一段简单的VBA代码批量操作:Sub AddHyperlinkToMergedCells() Dim cell As Range Dim linkURL As String ' 假设处理B列的合并内容,A列是原链接单元格,可按需修改范围 For Each cell In Range("B1:B100") linkURL = Range("A" & cell.Row).Hyperlinks(1).Address cell.ClearContents cell.Hyperlinks.Add Anchor:=cell, Address:=linkURL, TextToDisplay:=CONCATENATE(Range("A" & cell.Row), CHAR(10), Range("B" & cell.Row), Range("C" & cell.Row), Range("D" & cell.Row)) Next cell End Sub按Alt+F11打开VBA编辑器,插入模块后粘贴代码,运行即可。
内容的提问来源于stack exchange,提问作者Owen Lai
相关产品推荐
相关产品推荐

