
Tips.Net > ExcelTips Home > Macros > VBA Examples > Hyperlinks to Charts
Summary: You can create hyperlinks to all sorts of worksheets in a workbook, but you cannot create a hyperlink to a chart sheet. This tip provides a workaround that should display just what you want hyperlinked in the first place. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)
Excel allows you to create hyperlinks, either to resources on the Internet or to cells in other worksheets. Excel won't, unfortunately, allow you to create hyperlinks that display chart sheets in your workbook. If a worksheet includes a chart object (the chart was created as an object in a worksheet), then you can create a hyperlink that displays the worksheet on which the chart object is located. You cannot, however, use an actual chart sheet as the target of your hyperlink.
The way to work around this problem is to create a macro that actually displays the desired chart sheet. You can then assign the macro to a button, a menu item, a toolbar button, or any similar object. You would use a macro such as the following:
Sub GotoChart1()
Sheets("Chart1").Select
End Sub
This is a very simplistic version of a macro that displays a specific chart sheet. In this case, the chart sheet is named Chart1; you can change the name to reflect your needs. You can create a macro like this for each destination chart sheet in your workbook.
An alternative is to enhance the macro so that it accepts a parameter indicating the name of the chart sheet you want selected. For instance, consider the following macro:
Sub GotoChart2()
Sheets(ActiveSheet.Shapes(Application.Caller) _
.TopLeftCell.Value).Select
End Sub
With this macro in place, go back to your worksheet and select the cell where you want your hyperlink. Type the name of the chart sheet, and format it to look like a hyperlink. (Blue, underlined text, or formatted as desired. You are simulating a hyperlink; you are not creating a real one.)
Using the Forms toolbar, create a label object within the same cell, and format the label to not be visible. You do this by modifying the properties of the object so it has no lines, no text, etc. Then, right-click the label object and use the Assign Macro choice to assign the GotoChart2 macro to the object.
Now, when someone tries to click the "hyperlink," they are really clicking the invisible label object, and the macro is being executed. The macro determines the name of the object that called it (Application.caller), figures out what cell the object's top-left corner is in, and grabs the value of that cell. The value is then used as the destination name for the desired chart sheet.
Tip #2539 applies to Microsoft Excel versions: 97 2000 2002 2003 2007
Save Time! ExcelTips has been published weekly since late 1998. Past issues of ExcelTips are available in convenient ExcelTips archives. Have your own enhanced archive of ExcelTips at your fingertips, available to use at any time!
Check out ExcelTips Archives today!
Thousands of ExcelTips, available for immediate download. Have all the Microsoft Excel info you need, right at your fingertips. (more information...)
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site