How to create animated charts in Power Point [VBA]

Share

Facebook
Twitter
LinkedIn

This is a guest post by Chirayua member of Chandoo.org forum.

Foreword

I mainly write VBA code in Excel. I am in no means a PowerPoint VBA coder. It’s just that once you understand one type of VBA code it’s simple enough to do a bit of research & figure out the rest through trial and error.

This guide was created because of the question posted here which intrigued me & I drafted up a sample file for the same.

Animating charts in Power Point

Animating Charts in PowerPoint cannot be done without the help of 3rd party software’s that create a flash file of the chart & embed it into the presentation.

However there is a workaround for this. Save your chart as multiple images & insert them (overlapping on top of each other). Use VBA on Developer tab Controls such as Combo Box, Option Button, Check Box etc. to “Bring To Front”” the corresponding image. Thus giving the illusion of an Animated Chart in PowerPoint.

This guide will teach you how to animate the charts, using the three Developer tab Controls that were mentioned before. The code & functionality only works in Slide Show Mode. File must be saved as PowerPoint Macro-Enabled Presentation (*.pptm)

First a quick demo of the chart:

We are going to build this.

animated-power-point-chart-demo

How to Add Developer tab?

  1. Click on the office button / file menu at the top left in PowerPoint
  2. Go to Power Point options
  3. Tick the Show developer tab in the ribbon option in the popup menu
    1. If you are using PP 2010 or above, go to “Customize ribbon” tab and check the “Developer” ribbon to enable it.
  4. Close the Power Point options window.

How to add selection pane?

In order to name the chart pictures, we need to use selection pane. You can enable this by

In Office 2013 or above:

  • Go to Home > Select and click on Selection Pane.

In Office 2010 or 2007:

  • Go to Power Point Options
  • Click on Customize
  • From left hand side, choose “All commands”
  • Scroll down and select “Selection Pane”
  • Add this to the quick access toolbar
  • Now selection pane will be available on Quick Access Toolbar of PP.

How to Insert & Rename the Developer tab Controls?

  1. Go to the Developer tab
  2. To insert a control, simply click on the one you want & then a + cursor should appear
  3. Use this to drag & create the Control you chose
  4. As an example for renaming the Control let’s add an Option Button. Which will look like this:option-button-power-point
  5. To rename this to Q1, right click it & select properties
  6. Then change name & caption as you want.

option-button-properties

How to Insert & Rename Images?

The reason you need to rename the images is:

  • Easier for identifying chart images when they need to be updated in future
  • Uniform VBA code that does not need alteration as all images having same naming convention as that listed in the VBA code

To insert an image:

  1. Click on the Insert tab and click on Picture
  2. Then browse to the image you want & click on it & then click OK. Repeat this step if you are creating an animated graph.
  3. To rename these pictures we just click on the Selection Pane button we added earlier. This will show us all the images & their names in the PowerPoint slide you are on. We can then rename these images to whatever we want. I chose Pic1, Pic2, Pic3, Pic4 as the Chart has a Quarterly data.
  4. Note that when you are creating dynamic charts, the images will need to be of the same size & must overlap each other. Otherwise it won’t look like a dynamic chart, as it will still do all the work but look out of sync. Example below of Quarterly chart overlap, where Q1, Q2, Q3, Q4 have been placed on top of each other.

center-aligned-chart-images

VBA code to animate the chart

This VBA code will mainly be used when we have the overlapping image scenario as all we are doing is bringing the image to the front.

The VBA code will also go in the same slide as where the Option Buttons were added.

Since Q1, Q2, Q3, Q4 buttons are in Sheet1. VBA code will be pasted in Sheet1.

  • To open the VBA screen Click on the Developer tab & & then on the left hand side menu of the popup
  • Write the below code in the white area that shows up


Private Sub OptionButton1_Click()
ActivePresentation.Slides(1).Shapes("Pic1").ZOrder msoBringToFront
End Sub

Private Sub OptionButton2_Click()
ActivePresentation.Slides(1).Shapes("Pic2").ZOrder msoBringToFront
End Sub

Private Sub OptionButton3_Click()
ActivePresentation.Slides(1).Shapes("Pic3").ZOrder msoBringToFront
End Sub

Private Sub OptionButton4_Click()
ActivePresentation.Slides(1).Shapes("Pic4").ZOrder msoBringToFront
End Sub

How this code works?

  • OptionButton1_Click: Means run the macro when the button is clicked
  • ActivePresentation: Means the current PowerPoint file you are using
  • .Slides(1): Means the first slide of that file
  • .Shapes("Pic1"): Means the shape you are referring to. Images are also considered as shapes and as you remember Pic1 is actually the name given to the image of Q1 for the Dynamic graph
  • .ZOrder msoBringToFront: Means bring the shape to the front

 

Download the Example Presentation

Click here to download the animated charts power point presentation. Play with the animations in slides 2 & 3 to learn more. Examine the VBA code by using Developer ribbon > VBA.

Summary

As you can see, it’s not that difficult to animate charts in PowerPoint. It just requires a workaround in order to do so. I have included few more examples in the downloadable presentation. Check them out and learn more. I hope that this guide is useful to you in animating your PowerPoint files.

Thank you Chirayu

Thank you Chirayu for sharing this awesome technique with us. I really enjoyed playing with the animated charts file.

If you enjoyed this post, Please say thanks to Chirayu.

Want more animated & interactive charts?

If you want to build interactive & animated charts using Excel, check out below examples & case studies:

 

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

25 Responses to “Display Alerts in Dashboards to Grab User Attention [Quick Tip]”

  1. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which could also provide another piece of information.

  2. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which can also provide another piece of information.

    For Excel 2007, your formula should do the same as the Excel 2003 version, so that non-alert rows are blank - if they are 0, the unnecessary green icon will show

  3. Rohit1409 says:

    Hi Chandoo,

    Nice Post !! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  4. Rohit1409 says:

    Hi Chandoo,

    Nice Post !!! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  5. Rohit1409 says:

    The Complete formula [Don't Know how it got cut ]

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    PS : Use in single line [I have split it to avoid cuts 😉 ]

  6. Rohit1409 says:

    Hi Chandoo..

    why it is not displaying the complete formula..

    anyways here is the balance

    "=IF(A2<0.25,CHAR(153), IF(A2<=0.5,CHAR(155), IF(A2=0.76,CHAR(152)))))"

  7. Chandoo says:

    @Rohit... your formulas are fine. Just that the width of comment area is fixed and hence my website is cropping it at 640pixels. I just edited your formula and added few white spaces so that it wraps nicely.

    Very good idea btw.. kudos!

  8. Tom says:

    Hi,
    Maybe just go for 'bold' ; 'underline' or 'italic' to draw the users attention? Those methods (if those can be called methods) are used cross media type (books, journals, blogs, billboards, ...) to guide the readers eye to valuable information.
    Just a basic thought

  9. Chandoo says:

    @Tom.. good idea..

  10. [...] has a very nice writeup on how to add such alerts to dashboard sheets. Possibly related posts: (automatically generated)Divide your data set into workbooksHow to enforce [...]

  11. Ramesh Panakkal says:

    Hi Chandoo,

    You certainly grabbed my attention! although I wasn't sure what my brother (Suresh) and cousin (Shyam) were doing right, and I was doing wrong? 😉

    I love your blog btw - Many thanks for all your hard work in unravelling the secrets and mysteries of Excel!

    Best regards
    Ramesh

  12. Jeff Whitesel says:

    I thought I saw an advertisment for a book about learning excel called excel himalaya or something. It cost about 35.00 us money but seemed to have the things I need to have my admin assistant to start to use. I was hoping to start with this book and then send her to school if she shows some interest and aptitude. Any help on this would be appreciated. Thanks

    Great web site and information!!!!

  13. [...] There are lots of numbers in this dashboard. I would suggest adding few more visualizations like showing indicators or applying conditional formatting or replacing a table with a chart. This would reduce the [...]

  14. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  15. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  16. RROBBITT says:

    Hi Chandoo
    Firstly thanks for all the cool tips on how to use Excel better.

    I am new to the site and have a question which you may be able to assist with but dont know if these comment boxes are the best way of asking ?

    I am looking at assets and trying to calculate the depreciation total by taking a year (say 2010) adding the expected life of the asset (say 10 years) then comparing that to a future date (say 2015) using an IF statement. The calculation in normal is - IF((year in col B (2010) plus 10years)>year 2015, add a years depreciation, otherwise leave blank). The converted date value does not appear able to add 10 years in order to compare it to 2015. Am I missing something ?

  17. Rocky says:

    I use the “IF” Statement in conjunction with Conditional Formatting in MS Excel to give verbiage to alert one of a required action, dependant on a review date. This makes a visual stimulus, plus it clues one as to what the conditional format is trying to warn you about and what follow-up actions are required.

  18. Wow, I'm really impressed with dashboards. I had no idea this stuff was even possible with excel. I'd like to offer an interactive dashboard to my customers, showing analytics of their data. I have a .pdf file with the datapoints. I'd like them to enter the data on my website, and be able to see their data. Is something like that possible.

  19. Adam G says:

    Hi Chandoo,

    I've recently purchased the package for both templates.

    In the portfolio dashboard,under the calculations worksheet, I'm attempting to change the date range in the gantt chart to show only the range of the project that starts in late 2013.  How do I do this?

    Thanks
    Adam 

  20. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  21. Bianca says:

    Hi Chandoo,
    I'm new at Excel Dashboard and found your blog really useful and helpful! It's very nice of you that you dedicate your time to do this.
    Could you please explain how can I use Alerts based on dates on a Dashboar?
    For example, if a target date is coming closer to the actual date, the alert is yellow or red.
    I'd really appreciate some help!
    Thank you

  22. Marco says:

    Where can I download the file Excel of Averall Statistics ???
    Thanks a lot.

Leave a Reply