批量替换Excel表超链接

第一个sheet页是明细表,后面的sheet页是明细表要链接的具体内容,在每一个sheet页都设置了返回,链接到第一个sheet。由于此前sheet(1)名字取得随意,所以改名字,结果链接全部无效。故写了下面的东西。

第一个是我需要的,即修改内部链接。第二个说明修改外部链接方法。其实两个的差别就是SubAddress和Address。

Sub converInnertLink() For I = 2 To Sheets.Count For Each a In Sheets(I).Hyperlinks a.SubAddress = "Sheet1!A1" Next Next End Sub Sub converOutertLink() For I = 1 To Sheets.Count For Each a In Sheets(I).Hyperlinks a.Address = "http://topic.csdn.net/" Next Next End Sub

参考帮助

向指定的区域或图形添加超链接。返回 Hyperlink 对象。

expression.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)
expression      必需。该表达式返回一个 Hyperlinks 对象。

Anchor      Object 类型,必需。超链接的位置。可为 Range 对象或 Shape 对象。

Address      String 类型,必需。超链接的地址。

SubAddress      Variant 类型,可选。超链接的子地址。

ScreenTip      Variant 类型,可选。当鼠标指针停留在超链接上时所显示的屏幕提示。

TextToDisplay      Variant 类型,可选。要显示的超链接的文本。

Address和subaddress的区别是一个是外部链接,一个是内部链接

-----------温馨小提示---------

内部链接的地址除了可以直接写"sheet名!单元格"外,如果怕出错不确定,可以录制宏,查看源码找到。这招不一定实用。不过我当初不知道链接格式用这个,挺好。:)

 

你可能感兴趣的:(批量替换Excel表超链接)