Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Converting to Hyperlinks in a Shared Workbook.
by Allen Wyatt
(last updated June 23, 2018)
Eric has a shared workbook that contains a database of some 3,500 records. Two of the cells in each record contain an e-mail address and a URL. When a new record is added to the database, the e-mail address and URL appear as regular text instead of as hyperlinks. To make them into hyperlinks Eric must unshare the workbook, make the change, and then reshare the workbook. Eric wondered if there is, perhaps, an easier way to handle this situation.
Quite simply, adding and editing hyperlinks is not allowed when using a shared workbook. The simplest way around it is to put the links in separate cells as text and then use the HYPERLINK formula to reference those cells.
For example, if the URL is entered into cell E2, you could use the following formula in a different cell:
The first argument in this formula is to the cell that contains the address and the second argument is for the text to be displayed for the hyperlink. This approach requires two additional columns (for the HYPERLINK formulas) but will not require unsharing and resharing the workbook.
The only other option is to create a macro that can automate the process of unsharing and resharing the workbook. The following macro will do this and convert whatever is in the selected cell into a hyperlink.
Sub AddHyperlink() Dim cell As Range Application.DisplayAlerts = False ' Unshare the Workbook If ActiveWorkbook.MultiUserEditing Then ActiveWorkbook.ExclusiveAccess End If ' Change address in cell to a hyperlink. If ActiveCell = "" Then ActiveCell.Hyperlinks.Delete Else For Each cell In Intersect(Selection, _ Selection.SpecialCells(xlConstants, xlTextValues)) With Worksheets(1) .Hyperlinks.Add Anchor:=cell, _ Address:=cell.Value, _ ScreenTip:=cell.Value, _ TextToDisplay:=cell.Value End With Next cell End If ' Reshare the Workbook If Not ActiveWorkbook.MultiUserEditing Then ActiveWorkbook.SaveAs _ Filename:=ActiveWorkbook.FullName, _ AccessMode:=xlShared End If End Sub
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3155) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Converting to Hyperlinks in a Shared Workbook.
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!
Need to get rid of hyperlinks in a worksheet? Here's an easy way to do it without using a macro.Discover More
Do you use special characters (such as the pound sign) in your worksheet names? If so, you could run into problems ...Discover More
If you open workbooks in two instances of Excel, you can use drag-and-drop techniques to create hyperlinks from one ...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.