【Excel VBA】- 批量插入文件超链接
插播一条图文教程,昨天在【 牛闪闪的日子2群 】中有一位小伙伴咨询如何在Excel里面插入大量超链接,我群里联系该小伙伴后,他把需求发送给我了。具体问题如下:
这位小伙伴发来的文件类型如下:
一看到该问题,我第一个想法就是录制一个宏,把基本的添加超链接的代码自动生成,然后根据Sheet1工作表中的A列单元格循环处理即可。
录制宏
如下所示:
通过录制的宏代码,可以知道如何使用VBA代码添加超链接,宏代码如下:
Sub 宏1()
'
' 宏1 宏
'
Range("B2").Select
ActiveSheet.Hyperlinks.Add Anchor:= Selection , Address:= "链接\张三.xlsx" , _
TextToDisplay:= "链接\张三.xlsx"
Range("B3").Select
End Sub
核心代码就是ActiveSheet.Hyperlinks.Add Anchor:=Selection……,只需要加上一个Do While…Loop循环即可实现批量插入文件超链接,代码如下:
Sub filelink()
'批量增加超链接
Dim strFile As String
Worksheets("Sheet1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
'strFile = ActiveWorkbook.Path & "\链接\" & ActiveCell.Value & ".xlsx"
strFile = "链接\" & ActiveCell.Value & ".xlsx"
ActiveSheet.Hyperlinks.Add Anchor:= ActiveCell.Offset(0, 1) , Address:= strFile , _
TextToDisplay:= strFile
ActiveCell.Offset(1, 0).Select
Loop
End Sub
上面的代码主要加了一个循环,修改了添加超链接代码的 Anchor 、 Address 和 TextToDisplay 。执行代码,演示如下:
如上动态图,我先按
F8
逐条语句执行,最后我通过
F5
直接运行该代码,可以同时达到批量添加超链接的目的。
如果希望
移除工作簿中所有工作表里的所有超链接
,可以通过如下宏代码实现:
Sub RemoveHyperlinks()
'移除工作簿所有的超链接
For Each sh In Worksheets
sh.Select
ActiveSheet.Hyperlinks.Delete
Next
End Sub
今天的插播到此结束,大家对代码如有疑问,请留言~~Written by Steven in 20170213^_^
微信公众号:SaveUTime
SUT学习交流群:615356012
关注公众号,提高效率,节约您的时间!