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.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
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.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!