What This VBA Code Does
This PowerPoint VBA macro code will cycle through all the externally linked charts in your presentation and change those linked graphs into Pictures (while at the same time deleting the graph). This will make your final presentations look much more professional and a whole lot easier to edit. Click the Download button below if you want to see my example file I put together that will show this code in action!
'PURPOSE: Change Excel linked graphs into regular images
Dim shp As Shape
Dim sld As Slide
Dim pic As Shape
Dim shp_left As Double
Dim shp_top As Double
'Loop Through Each Slide in ActivePresentation
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Type = msoChart Then
'Retrieve current positioning
shp_left = shp.Left
shp_top = shp.Top
'Copy/Paste as Picture
Set pic = sld.Shapes(sld.Shapes.Count)
'Delete Linked Shape
'Reposition newly pasted picture
pic.Left = shp_left
pic.Top = shp_top
Learn More With This Example Workbook
I have created a sample PowerPoint file to show you how this code works in a real-life scenario. The file and its code are completely unlocked so you can dig in and discover how the magic works. As always, in order to download this example file you will need to be a subscriber of my free newsletter. If you click the green button below you can easily sign up and you will be emailed the password to get into the subscribers-only area of this website where you can download any of the example files instantly!
How Do I Modify This To Fit My Specific Needs?
Chances are this post did not give you the exact answer you were looking for. We all have different situations and it's impossible to account for every particular need one might have. That's why I want to share with you: My Guide to Getting the Solution to your Problems FAST! In this article, I explain the best strategies I have come up with over the years to getting quick answers to complex problems in Excel, PowerPoint, VBA, you name it!
I highly recommend that you check this guide out before asking me or anyone else in the comments section to solve your specific problem. I can guarantee 9 times out of 10, one of my strategies will get you the answer(s) you are needing faster than it will take me to get back to you with a possible solution. I try my best to help everyone out, but sometimes I don't have time to fit everyone's questions in (there never seem to be quite enough hours in the day!).
I wish you the best of luck and I hope this tutorial gets you heading in the right direction!
Chris "Macro" Newman :)