
Tips.Net > ExcelTips Home > Online and Web > Hyperlinks > Changing Portions of Many Hyperlinks
Summary: If you need to modify the URL used in a large number of hyperlinks, you can do so by using a macro and a little ingenuity. This tip shows how easy it is to get the changes you need. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)
Kerstine has a worksheet with many, many different hyperlinks in it. She is wondering if there is a way she can replace just a part of each link. For instance, she might like to change any instance of http://www.mysite.com/ to c:/documents/mycopy/. If there is anything additional in the links, then that part should remain. So, for instance, if the original link is http://www.mysite.com/thispage.html, it would be changed to c:/documents/mycopy/thispage.html.
This can be easily done with a macro. The reason is because the hyperlinks can be examined and changed using regular string functions. The following macro provides a simple way to address the issue.
Sub EditHyperlinks()
Dim lnkH As Hyperlink
Dim sOld As String
Dim sNew As String
sOld = "http://www.mysite.com"
sNew = "c:/documents/mycopy/"
For Eack lnkH In ActiveSheet.Hyperlinks
lnkH.Address = Replace(lnkH.Address, sOld, sNew)
lnkH.TextToDisplay = Replace(lnkH.TextToDisplay, sOld, sNew)
Next
End Sub
This routine steps through all the hyperlinks in the current worksheet and makes modifications, if necessary, to each one. Both the hyperlink and the displayed text are changed, as appropriate. All you need to do is make changes to the sOld and sNew strings to specify what you are searching for and what you want to replace it with.
You should note that this macro uses the Replace function, which is built into the later versions of VBA. If you are using an older version that does not include the Replace function (you'll know because you'll get an error when you try to turn the macro) then you will need to create your own Replace function that replaces one portion of a string with another. Such functions have been covered in other issues of ExcelTips.
Tip #3358 applies to Microsoft Excel versions: 97 2000 2002 2003 2007
Save Time and Money! Many people need to keep track of employee time, but don't know where to start when it comes to creating a spreadsheet. Here's a way to save time, effort, and money with ready-to-use timesheet templates.
Check out Timesheet Templates today!
If you have tons of data to analyze, one of the best tools in Excel's arsenal is the PivotTable. Learn how to use this tool to analyze your data. (more information...)
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site