by Allen Wyatt
(last updated September 19, 2016)
Jack likes his Excel hyperlinks to show that they have been visited. Unfortunately, when he saves his workbook, they all get reset to unvisited. Jack wonders if there is some way to make the "visited" status of his hyperlinks survive the Save operation.
There is no way to do this that we've been able to discover. The closest we can come is to check the whether a hyperlink is followed or not and then somehow indicate that status with a condition or value that survives a save operation. For instance, consider the following macros:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim wks As Worksheet Dim hl As Hyperlink Application.ScreenUpdating = False For Each wks In ThisWorkbook.Worksheets For Each hl In wks.Hyperlinks If hl.Parent.Interior.ColorIndex = 37 Then hl.Parent.Interior.ColorIndex = xlNone hl.Parent.Style = "Followed Hyperlink" End If Next hl Next wks Application.ScreenUpdating = True End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) Target.Parent.Interior.ColorIndex = 37 End Sub
Every time a hyperlink is followed, the second macro is run. It sets the color of the cell containing the hyperlink. Then, as the workbook is saved, the first macro is run. It checks all the cells containing hyperlinks, and if their interior color is the "key" color (color value of 37), then the style of the cell is set to a style named "Followed Hyperlink". This style setting for the cell will survive the save operation; the only thing you need to do is make sure that you've defined the style to appear as you want your followed hyperlinks to appear.
It should be pointed out that these two macros should be added to the ThisWorkbook module of the workbook. To get to it, display the Visual Basic Editor and double-click on the ThisWorkbook module in the Project Explorer. You can then paste the macros into the resulting code window.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (7198) applies to Microsoft Excel 2000, 2002, and 2003.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
In Excel, a hyperlink consists of two parts: the text displayed for the link and the target of the link. You can use a ...Discover More
Got a bunch of hyperlinks you need to get rid of? Here's a handy (and simple) macro that can do the task for you.Discover More
Excel will cheerfully keep track of all sorts of hyperlinks for you. If you want to change the hyperlink in some way, ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.