Today, lets learn how to create an interesting chart. This, called as network chart helps us visualize relationships between various people.
Demo of interactive network chart in Excel
First take a look at what we are trying to build.

Looks interesting? Then read on to learn how to create this.
Note: thanks to Hans whose email question inspired me to create this chart.
Tutorial to create interactive network chart in Excel
Note: This tutorial requires intermediate-to-advanced Excel knowledge. So if you are beginner, learn the basics & advanced concepts first and then comeback for this.
In order to create this chart in Excel, we need to first understand various ingredients of it.
As you can see, the chart contains these parts:
- A set of dots, each representing one stakeholder
- A set of grayish thick & dotted lines representing all relationships between people.
- A set of green thick & blue dotted lines representing relationships for the selected person.
- A slicer for person selection (can be replaced with list box or clickable cells in Excel 2007 or below)
- Summary statistics of the selected person
Getting started with the relationship data
To simplify our tutorial, lets assume we are talking about relationships between just 4 people, named Ash, Billy, Cynthia & Darren.
Our relationship matrix looks like this:

- 0 means no relationship
- 1 means weak relationship (for example: Ash & Billy just know each other)
- 2 means strong relationship (for example: Cynthia & Billy are friends)
The downloadable workbook is created to take up to 20 stakeholders.
Geometry of the network chart
If we draw the relationships between these 4 people (Ash, Billy, Cynthia & Darren) on a paper, it would look like this:

The 2 things we need to determine are,
- The location of dots (where person names are printed)
- The lines (starting & ending point of lines)
Plotting dots around circle
We need to plot our dots in such a way that gap between each dot is same. This will create a balanced chart.
What shape satisfies our need for such equal gaps? A circle of course.
Hey wait, I don’t see a circle in the chart you have shown…?
Thats right. We don’t need to draw a circle. We just need to plot dots around it.
- So we have 4 stakeholders, we need 4 dots
- If we have 12 stakeholders, we need 12 dots
- If we have 20, we need 20 dots.
Assuming the origin of our circle is (x,y), radius is r and theta is 360 divided by number of dots we need,
the first dot (x1,y1) on the circle will be at this position:
x1 = x + r*COS(theta)
y1 = y + r*SIN(theta)
[Related: How to create a spoke chart in Excel]
Once all the dots are calculated & plugged in to an XY chart (scatter plot), lets move on.
Plotting the lines
Lets say we have n people in the network. So that means, each person can have a maximum of n-1 relationships.
So the total possible lines in our chart are n*(n-1)/2
We need to divide it by 2 as if A knows B, then B knows A too. But we need to draw only 1 line.
My network chart template is set up to work with up to 20 people. So that means, the maximum number of lines we can have will be 190
Each line requires a separate series to be added to the chart. That means, we need to add 190 series of data just for 20 people. And that satisfies only one type of line (either dotted or thick). If we want different lines based on type of relationship, then we need to add another 190 series.
This is painful & ridiculous.
Fortunately there is a way out.
We can use far fewer series and still plot the same chart.
Lets say we have 4 people – A B C & D. For the sake of simplicity, lets assume the co-ordinates of these 4 are
- A – (0,0)
- B – (0,1)
- C – (1,1)
- D – (1,0)
And lets say, A has relationships with B, C & D.
That means we need to draw 3 lines, from A to B, A to C & A to D.
Now, instead of supplying 3 series for the chart, what if we supply one long series that looks like this:
(0,0), (0,1), (0,0), (1,1), (0,0), (1,0)
That means we are just drawing one long line from A to B to A to C to A to D. Agreed that it is not a straight line, but Excel scatter plots can draw any line as long as you provide a set of co-ordinates.
PS: This is a trick I learned from Roberto of E90E50. He used this trick in the winning entry of our recent dashboard contest.
See this illustration to understand the technique.

So instead of 190 series of data for the chart, we just need 20 series.
In the final chart, we actually have 40 + 2 + 1 series of data. This is because,
- 20 lines for weak relationships (dotted lines)
- 20 lines for strong relationships (thick lines)
- 1 line for highlighted person’s weak relationships
- 1 line for highlighted person’s strong relationships
- 1 set of no line & just dots for the people
How to generate all the 20 series of data:
This requires following logic:
- Assuming we need lines for the relationship of person n.
- That person’s dot location will be (Xn, Yn) and already calculated earlier (in the plotting dots around circle)
- We need total of 40 rows of data
- Every odd row will have (Xn, Yn)
- For every even row
- Divide the row number by 2 to get person number (say m)
- (Xn,Yn) if there is no relationship between n and m
- (Xm,Ym) if there is a relationship
We need MOD & INDEX formulas to express this logic in Excel.
Examine the download workbook to understand how its done.
Once all the line co-ordinates are calculated, add them to our scatter plot and format.
I used a macro to automate the formatting. It can be done manually too, just takes a little patience.
Slicer for selecting a person
This works only in Excel 2010 or above.
Select the first 2 columns of relationship matrix & create a pivot table.
Now, insert a slicer on Person name column.

Using simple IF formula, extract the selected person name from pivot table (examine download file for the logic).
And using the name, extract the subset of line data to separate range (2 sets of data – one for weak & one for strong relationships)
Add this new data to our scatter plot and format.
Format the slicer (using slicer styles) so that it looks slick.
Related: formatting slicers using styles.
NOTE About Slicers: If you change or add any data, you must refresh (from Data ribbon) to update the slicer. This can be automated with a macro, but I want to keep this file macro free.
[Alternative] Selecting a person with form controls
You can use either a list box or a range of clickable cells. See the 2003 compatible download file for an example of this.
Summary statistics
Using simple formulas extract statistics for the selected person and show them near the chart.

Adding labels to the chart (person names)
In our chart, we are showing person names instead of regular label like X or Y value. This is done with value from cells label feature in Excel 2013.

For earlier versions of Excel, I recommend using Rob Bovey’s excellent XY Chart Labels add-in.
Putting it all together
Once everything is ready, clean up the chart, slicer and other elements, put them together. And we are ready to go.

Download Network Relationships Interactive Chart Template
Click here to download the chart template workbook. The download is a ZIP file and it contains 3 workbooks – compatible with Excel 2013, 2010 & 2003+. Use the version that you need.
Please examine the formulas & chart settings to understand how it is constructed.
Note: Hit Refresh from Data ribbon to change slicer once you have added or modified data.
When to use network relationship chart?
A network graph is a good place to explore relationships between people in a project or team. It is especially useful when selecting a sub-set of people from large group to closely work on a project.
Any alternatives?
There is a popular Excel Add-in named NodeXL that can help you visualize and analyze relationships between people in a more in-depth fashion.
Check out Chord diagram & Cosmograph from E90E50 site for other ways to present this data.
Do you use these kind of charts?
I have used network charts earlier to depict relationships between various people or things. But I have never created such charts in Excel, I always used either Power Point or some other drawing program to create them. That is why I am excited about this chart. Figuring out the formula & graphing logic was fun.
What about you? Have you used such charts before? How do you like the network chart presented here? Please share your thoughts using comments.















14 Responses to “How to Add your Macros to QAT or Excel toolbars?”
We have only just got excel 2007 so this is helping me navigate my way through the differences cheers.
For Macro's i always add a Command Button, rename it something obvious, change the colour of it and finally add the following to its View Code section.
Application.Run "MAcro1"
This way anyone opening the file knows what to do if i ever win the lottery and dont make it in 🙂
Hi,
Good article. But I have this problem.
1) Customized QAT with a macro. Macro name = MacroX
2) Runs OK from original location (e.g. C:\TestLoaction1\TestFile.xls)
3) Copy past file to new location (e.g. C:\TestLoaction2\TestFile.xls)
Menu button now fails:
Cannot run the macro "C:\TestLoaction1\TestFile.xls'!MacroX' The macro may not be available in this workbook...
Of course the code is there, and macros are enabled.
Could get it to work after deleting and recreating macro custom buttons. So have to re-assign macro to QAT button every time I move the file?
If I put a form button on he worksheet and assign the macro to that, it's location independent.
Any ideas?
Thanks
@Ron
What you have said is correct
Macros within a worksheet are stored within the worksheet and hence follow it.
Macros referenced by a button in the QAT or elsewhere are locaed in a file and if that file is moved the linkages don't follow.
The easiest way around this is to store all your macros in a location that doesn't move and is in fact reloaded everytime that Excel starts and that is called the Personal.xlsx/b file.
These are refered to several time at Chandoo.org or have a read of
http://www.rondebruin.nl/personal.htm
or
http://office.microsoft.com/en-us/excel-help/deploy-your-excel-macros-from-a-central-file-HA001087296.aspx
In Excel 2003 and prior versions, a button added to the Toolbar maintained a DYNAMIC link to the file (e.g. Personal.xlsb) holding the assigned macro, such that if the file was relocated for any reason (by using Excel's native Save As command rather than just moving it via Windows Explorer), the link between the button and the file was updated.
I expected the same to occur with Excel 2007+, but alas, Microsoft in their infinite wisdom have removed another feature useful to advanced users (just as they did by removing the ability to design your own buttons)!!
So having just done some reorganisation of my files, I now have to remove and recreate every friggin macro button on my QAT (I have lots) - what a pain in the proverbial!!
Hi Hui,
Thanks for the help, that's really useful.
1) The macros I'm adding are for one specific Excel application, so I really wanted the macros to follow the file
2) I didn't want to have to pass other files around too and have users installing those - either Personal.xlsx/b or as an Add-In.
3) I realise now that the QAT additions will appear for other Excel workbooks in which I don't want the macros available.
So, it looks like I need to keep it local, by using a button on the worksheet. Unless you can suggest any way of adding to menus just for a specific workbook.
Thanks again for your help. Great site, so I'll be signing up for the emails.
Ron
I know I'm a little late jumping on this post, but wondering if anyone knows how to add a UDF to the QAT? I've saved my UDF in my personal workbook, but it does not show up in my list when I choose Macros when customizing my QAT. Suggestions? Thanks!!
@Cheryl: UDFs cannot be accessed like Macros. You can use them from other macros or from worksheet cells as formulas...
@David: If you save your macros file and then install it as an add-in then it will be always available for you.
The instructions work great when you are creating a new file, and it is still open. I find that I can't access macros after I've saved a file as an xlam and closed it. When I reopen the xlam, either by browsing to it, or by having it set to open as an addin using Excel Options, the macros are no longer available in the macros list when I go to edit the QAT. Any way around that?
[...] Add this macro as a button to Quick Access Toolbar [...]
I need to create a button that will run a macro. Once you click the button it needs to open up a browser asking you to select a report/file. Once you select the file, it will run the macro on the selected file and then save it as a new report with a name and the current date. I created the macro to sort/modify the report but I do not know how to do what I mentioned above. I hope this makes sense.
I'm having trouble adding a macro to the QAT. I've done everything up to step 5 but my macro isn't showing up. What am I doing wrong?
[...] Add Macros to Quick Access Toolbar (works in Excel 2003 & above) [...]
Hi,
Thank you for the explanation. Very useful for a recent switcher from office 2003 to office 2010.
My follow-up question is: in Excel (or ppt) 2010, can you customize the macro button that you put in the QAT?
In office 2003, once you chose the custom button for your Macro, you could then edit pixel by pixel the said button.
For instance, I've created 2 Macros in PPT that are converting all my slides to either English or French language, so I'd like one button to show EN and the other FR... that would be more meaningful that any of the possible "custom" office 2010 buttons
I read all the post and one important aspect to the QAT was never mentioned. That is, you have a macro driven worksheet that you want to share with other. You have customized the QAT with two icons to run the macros (VBA programs in reality). However, when the others receive the workbook, the icons are no where to be found. It's my understanding those "customized buttons" have been saved to an outside file, Excel.qat. QUESTION: Could one simply attach that file to your email, along with the worksheet, and tell the recipients to copy that file to correct location on their computer - C:\Users\\AppData\Local\Microsoft\Office|\
Would the customize macro buttons then appear in the worksheet and, more importantly, work? Thanks for your thoughtfulness and thanks for well written instructions Chandoo!
MortW