首发于 SUT事务所
【Excel VBA】- 批量插入文件超链接

【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

关注公众号,提高效率,节约您的时间!

发布于 2017-05-25 13:19

文章被以下专栏收录