Kerstine的工作表中包含许多不同的超链接。她想知道是否有一种方法可以替换每个链接的一部分。

例如,她可能想将http://www.mysite.com/的任何实例更改为c:/ documents / mycopy /。如果链接中还有其他内容,则该部分应保留。因此,例如,如果原始链接为http://www.mysite.com/thispage.html,则它将更改为c:/documents/mycopy/thispage.html。

使用宏可以轻松做到这一点。原因是因为可以使用常规字符串函数检查和更改超链接。

以下宏提供了解决此问题的简单方法。

Sub EditHyperlinks()

Dim lnkH As Hyperlink     Dim sOld As String     Dim sNew As String

sOld = "http://www.mysite.com"

sNew = "c:/documents/mycopy/"



For Each lnkH In ActiveSheet.Hyperlinks         lnkH.Address = Replace(lnkH.Address, sOld, sNew)

lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew)

Next End Sub

此例程逐步浏览当前工作表中的所有超链接,并在必要时对每个超链接进行修改。相应的超链接和显示的文本都被更改。您需要做的就是更改sOld和sNew字符串,以指定要搜索的内容以及要替换的内容。

您应注意,此宏使用“替换”功能,该功能内置于更高版本的VBA中。如果您使用的旧版本不包含替换功能(您会知道,因为尝试旋转宏时会收到错误消息),那么您将需要创建自己的替换功能来替换部分宏与另一个字符串。 ExcelTips的其他问题已经涵盖了此类功能。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3358)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: