EXCEL表中如何在多个超链接地址前批量添加同一个字符

比如我的EXCEL表1中B列超链接地址有"张三/..../....""李四/..../...."""王五/..../...."等多个不同的超链接地址,我想在B列这些超链接地址前一次性操作批量添加一个“5月”的字符,变成"5月/张三/..../....""5月/李四/..../...."""5月/王五/..../...." 请问哪位高手指点指点小弟,万分感谢!备注表中只有B列有超链接。

VBA代码运行就简单了。运行之前,先将原文件复制保存,以免文件更改失败导致面目全非,不能恢复。打开文件,然后按“Alt”+F11键,“工具”-->“插入”-->“模块”,复制下面代码贴入模块窗口,然后根据需要修改代码。修改后运行代码,运行成功后,删除插入的模块,保存文件即可。

Sub Macro1()
For Each H In Worksheets(1).Hyperlinks '本行指定在sheets(1)运行代码,根据你的需要更改括号内的数字为你的目标页面。
A = Left(H.Address, 16) '本行及下面一行假定你要将"5月"放在第17个字符位置,根据需要修改其数字。选择一个链接,按Ctrl+K键,最跳出的界面底部,可以查看原链接,以确定插入位置。
B = Mid(H.Address, 17, Len(H.Address) - 16)
C = "五月\" '待插入的数字
D = A & C & B
H.Address = D
H.Range = D '本行代码将更改Excel表格内的内容修改为新的链接的内容,如果只改链接,不改内容的话, 请删除本行。
Next
End Sub追问

朋友,能否留个QQ或者电话,你教我的VBA代码,得请教几处。打扰麻烦了。

追答

代码修改为:
Sub Macro1()
For Each H In Worksheets("天长三部").Hyperlinks
If H.Range.Column = 39 Then
A = "5月\" & H.Address
H.Address = A
End If
Next
End Sub
问题已解决,请采纳答案,谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-23
1、假如A列为“5月”;2、B列为超链;3、在C列输入"=a1&b1"即可。追问

我试过,这样好像只能把C列显示的文字改了,C列没超链接的迹象了。

追答

加一列,填上5月就行。

追问

在B列后加一列,还是.....?在添加的那列上某个单元格填上5月,然后下拉还是什么,能使一整列超重机关报能链接上?

第2个回答  2012-05-23
查找/替换追问

我试了,出现“找不到匹配项”,表格中的字能替换掉,这我知道。

追答

你要添加的超链接的五月应该是一个文件夹吧,比如:查找:d:\ 替换:d:\五月\

追问

那不是等于建一个“5月”文件夹,然后把原本的文件夹如张三、李四、王五文件夹,全部放入5月的文件夹里,这么一来,原表中的超链接因为原链接地址变了,就无法打开了,这就是我的问题,怎么在原表中的超链接地址添加个“5月”,跟文件夹保持一致。

追答

我这只是举例,你添加一个字符是啥意思?是要改变超链接的路径吧,查找原来的路径,替换为现在的路径。如果你的文件路径没有改变,添加了字符当然打不开了。

追问

“添加一个字符”我的意思就是在原来的超链接地址中最前面加一个“5月”,因为就像我之前说的,我新建了一个“5月”命名的文件夹,然后把张三、李四、王五的文件夹放里面,现在想把超链接的链接地址和因新加的“5月”文件夹缘故所以要保持一致,使至链接能打开成功。

追答

这样试一下:在超链接的后面单元格输入公式:="5月"&A1下拉,然后复制,右键--选择性粘贴--值。

第3个回答  2012-05-23
按住cntrol追问

cntrol是什么,ctrl? 如果朋友您能详细说下,万分感谢。