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: Opening Sites in a Browser.
by Allen Wyatt
(last updated July 21, 2018)
Steve has a range of cells (A1:A10) that contain website addresses—for example, www.example.com. He wonders if it is possible, within a macro, to open each of these addresses in a browser all at once in separate browser tabs.
There are a couple of ways you can approach this task, and which one you choose depends largely on the nature of the data in your worksheet. If the cells contain active hyperlinks (ones that if you click on them, the address is opened in a browser), then you can use a rather simple macro:
Sub FollowHyperlinks1() Dim MyRange As Range Dim hl As Hyperlink On Error Resume Next Set MyRange = Range("A1:A10") For Each hl In MyRange.Hyperlinks hl.Follow Next hl End Sub
The macro simply looks at all the hyperlinks in the range of A1:A10 and uses the Follow method to open each of them in your default browser. Because of the way in which your operating system transfers information from Excel to your browser, it is a good idea to have your browser open before you run the macro. The reason for this is because, in testing, we found that you may actually end up with two instances of the browser open, with some addresses open in one instance and some in the other. This apparently occurs because of the delay in opening the first instance of the browser. If the browser is open before the macro is run, then there is no delay and each address opens in a different tab of the same browser instance.
If the addresses in your worksheet may not be active hyperlinks, then you can't rely upon using the Hyperlinks collection for the range. Instead, you need to look at the value of each cell in the range:
Sub FollowHyperlinks2() Dim MyRange As Range Dim cell As Range Dim sTemp As String On Error Resume Next Set MyRange = Range("A1:A10") For Each cell In MyRange sTemp = cell.Value ThisWorkbook.FollowHyperlink _ Address:=sTemp Next cell End Sub
This approach uses the FollowHyperlink method to load the address in the sTemp variable. In this case, it doesn't matter whether the contents of the cells are active hyperlinks or not; the code still tries to open them in a browser.
Finally, if your data may not contain fully qualified addresses, then you'll need to use a different approach, still. For instance, Steve mentioned having addresses such as www.example.com in the worksheet, but such an address will not work with the examples so far. If your data is missing http:// at the beginning (or some variant, such as https://), then the code won't open the address in the browser. In your data has this peculiarity, then a slight modification to the macro is in order:
Sub FollowHyperlinks3() Dim MyRange As Range Dim cell As Range Dim sTemp As String On Error Resume Next Set MyRange = Range("A1:A10") For Each cell In MyRange sTemp = cell.Value If InStr(sTemp, "://") = 0 Then sTemp = "http://" & sTemp End If ThisWorkbook.FollowHyperlink _ Address:=sTemp Next cell End Sub
Note that this example examines the contents of sTemp to see if it has the characters "://" within it. If not, then the prefix http:// is added to the cell contents and Excel tries to use the FollowHyperlink method to open the modified address.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11413) 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: Opening Sites in a Browser.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
In putting together a workbook, you may develop a worksheet that acts as an index, to contain links that lead to other ...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
When you enter a URL or e-mail address in a worksheet, Excel usually converts it to a clickable hyperlink. This doesn't ...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.