Many Visio diagrams get quite large, and sometimes it is useful to provide the ability to jump to another shape quickly in the same document, either on a different page or on the same one. Although there is an add-on provided in desktop Visio that is used by the Off-Page Reference shape provided in the Basic Flowcharts Shapes stencil (see my other posts), this article is about using the hyperlinks available in both the desktop and browser editions of Visio. Fortunately, Visio desktop has the ability to create hyperlinks to a specific shape by selecting the page and entering the name of the target shape. This creation ability is not available in Visio for the web, but using the desktop created ones is!
In the example above, I inserted the ID and the Name of a simple rectangle shape using Insert \ Text \ Field, and then duplicated the shape, so that they were at opposite corners of a page. II could then insert a hyperlink on each to jump back to the other, using Insert / Links / Link, CTRL+K or Edit Hyperlinks… from the right mouse menu. Then if I zoomed in on one of the shapes, I can I use CTRL+Click or the right-mouse menu to automatically jump to the other.
I then duplicated the page, and was actually surprised to find that these shapes had updated the page part of the sub-address automatically to the new page. I then added a second hyperlink to jump to shape on the other page.
So, now I have hyperlinks that jump between shapes on the same page or on a different page. Moreover these work when the Visio file is viewed or edited in the web browser.
Even though these shape to shape jumps work in the browser, they cannot be created using Visio in the web browser. They have to be created in Visio desktop … yet another reason to consider Visio desktop as the studio edition for other Visio browser users in the same organization.
Also note that these links only zoom to the target shape, they do not also select the target shape like the Off-page reference add-on does in Visio desktop.
Getting the name of the target shape
I was able to create these shape to shape jumps because I knew the name of the target shapes. The name can be viewed or edited using Developer \ Shape Design \ Shape Name, but this is not always convenient. I made these visible by inserting the Name field as a Shape Data row, which can then be selected and copied. Another way of discovering the name of a shape is to look at the header bar of the Shape Data or Size & Position windows when the shape is selected. The Name is displayed there, but it does not provide you with the ability to edit it or copy it to the clipboard.
Notice that Visio always has to have a unique name within the collection it is a part of. In the above example, I was using a simple rectangle shape so the name was a combination of “Sheet.” and the ID of the shape. If I had dragged and dropped a shape from a stencil onto the page, then the shape is an instance of the Master, and automatically gets its name from the name of the Master, and appends “.” and the ID of the shape, if it is not the first instance.
Pre-defining a hyperlink
Usually, I am creating custom Master shapes, which provides the opportunity to have a pre-created Hyperlink row. This can be named as JumpTo or something, which can then be referred to in other ShapeSheet cells. This means that I can use the reference in the Actions and Events sections.

For example, I created an Actions row with the Action formula:
=HYPERLINK(Hyperlink.JumpTo.Address,Hyperlink.JumpTo.SubAddress)
This same formula can be added to the EventDblClick cell in the Events section if you want the double-click on the shape to immediately jump to the target shape.
Then the Actions row can have the Invisible formula:
=Hyperlink.JumpTo.Invisible
This works because I had set the Hyperlink.JumpTo.SubAddress formula to:
="..."
and Hyperlink.JumpTo.Invisible formula to:
=LEN(Hyperlink.JumpTo.SubAddress)<4
I also aet the Hyperlink.JumpTo.Description to:
="Jump To"
I like to have an Actions row with the Hyperlink(…) function because it always works first time, which is not always my experience with the normal hyperlink on the right mouse menu. It usually takes two attempts! In any case the Actions option is also available in the browser.
In this example, I have also created two Shape Data rows.
The first, named Name, has the following formula in the Value cell:
=GUARD(NAME())
The second, named NameID, has the following formula in the Value cell:
=GUARD("Sheet."&ID())
This means that the end user can select and copy the values in these cells, but cannot edit them.
So, the first will display the Name of the shape, even after re-naming, either manually or in code. The second will display the NameID of the shape. This remains constant, even if the shape is renamed. Initially, I thought that only the shape name should be entered into the Sub-address of the Hyperlinks dialog in Visio desktop. If the name contains spaces, then Visio should automatically replace spaces with %20 when pasted from the clipboard into the Hyperlink dialog opened from the Hyperlinks dialog Sub-address Browse... button. However, I discovered that Visio desktop hyperlinks will also work with the alternative NameID value. This always works in the desktop, even if the the page name is re-named and includes spaces, however this does not work in Visio for the web.
Of course, additional hyperlinks can be added to the shapes that are instances of the custom Master, but these additional ones will not have the benefit of the Action row and EventDblClick formulas.
The principle of pre-defining Hyperlinks rows with associated Actions can be extended to multiple possible links, and also provide some extra visuals within the shape to show if they are present or not. Also, these rows can be automatically added using Link Data to Shapes….
Related articles
Co-authoring and Commenting with Visio Documents
Microsoft Visio can be used in the web browser and on the desktop, but there are several licensing options available, so which ones can be used concurrently whilst supporting co-authoring and commenting? This article tests the various scenarios but assumes that the Visio documents are stored in OneDrive for Business or SharePoint Online\Teams. The Microsoft…
Fixing dimensions of 2D shapes
I am often asked what makes Visio unique and makes it stand out from the crowd, especially in today’s online world. Well, I think there are many reasons, but one of them is the ability to create scaled drawings with parametric components of specific dimensions. This was crucial for my adoption of Visio back in…
Smart Radio Buttons and Check Boxes in Visio
A recent project requires an interactive tutorial within Microsoft Visio desktop where a lot of the questions need a single answer using radio buttons, or multiple-choice answers using check boxes. I thought that this would be a great use of the list containers capability because the questions and answers could be part of the container…
Using Button Face Ids in Visio
Microsoft Visio desktop has the ability to display icons from a built-in list of Office icons on Actions and Action Tags (nee Smart Tags). These can be set in the ShapeSheet by using the desired number from several thousand in the ButtonFace cell. Although there is the ability to add better icons using code, the…
Grid Snapping Revisited
I have previously tackled the subject of snapping to grids in Visio desktop (see https://bvisual.net/2018/06/19/really-snapping-to-grids-in-visio/ ) but a recent project required me to improve the example because it did not respond to all cursor arrow keys. The problem was that the previous solution could not understand which arrow key had been clicked, therefore it did…
Synchronizing Visio Shape Fill Color (or almost any cell) across pages
I was recently asked how the color of one shape can be changed and for other shapes to be automatically updated to the same color … even if they are on different pages! Well, it is possible with Microsoft Visio’s awesome ShapeSheet formulas. In fact, this capability is not limited to the FillForegnd cell ……