Excel Charts in PowerPoint
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Excel Charts in PowerPoint.
If you do a lot of presentations, you may deal with many large data reports that include charts and graphs that summarize data for your audiences. Sometimes you may need to add these charts and graphs to PowerPoint presentations.
The problem with doing a simple copy and paste of a chart from Excel to PowerPoint is that although you only see the chart in the PowerPoint slide, the entire workbook is copied into PowerPoint as well. If someone double-clicks the chart in the slide, PowerPoint will open the entire Excel workbook.
This poses a couple of problems. First, unless the PowerPoint file has been password protected (not really an option for mass distribution) a user could easily adjust the data feeding into the chart and corrupt accuracy.
Secondly, since the entire Excel workbook is copied into the PowerPoint file, this can dramatically increase the total size on the PowerPoint file, possibly making it too cumbersome for distribution.
One simple solution is to modify how the pasting into PowerPoint is done. Follow these steps:
- In Excel, copy the chart as you normally would. (For instance, select the chart and press Ctrl+C.)
- In PowerPoint, display the slide where you want the chart to appear.
- Choose the Paste Special option from the Edit menu. PowerPoint displays the Paste Special dialog box. (See Figure 1.)
Figure 1. The Paste Special dialog box in PowerPoint.
- Select the Picture option.
- Click OK.
This time, only the image of the chart is pasted into the slide. This maintains the accuracy and security of your chart and significantly reduces the size of your PowerPoint presentation.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2882) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Excel Charts in PowerPoint.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Leave your own comment:
Comments for this tip:
Paul Miner 29 Jul 2016, 16:28
Is there any way to copy an entire worksheet into the slide and then have scrollbars to allow moving around the sheet? supposedly this was possible in PPT 2010 but their method doesn't work in PPT 2016
Davdi 13 Feb 2016, 08:54
I've successfully created presentations using Enhanced Metafile, but when I switched to office 2013, the tables from Excel are now much larger requiring a resize.
What is the best way to manage this?
Wams 25 Nov 2015, 16:44
I need serious help with the following: I hope that my explanation is clear to the readers. I open a PPTX from VBA and via a loop, based on the number of slides found in the PPTX, I copy the slide and past it into a specific sheet, “MM Report”. What is happening is that the paste does not display the slide just copied. If I insert a breakpoint just after the paste, the pasted slide in Excel sheet is displayed. Without the breakpoint, the code loops to the last slide and displays only the last slide. I have look through the web at many different forums and have not found a solution. I want to have each pasted slide displayed, with a wait time in between. Here if the code:
Dim shp As Shape
Dim sSlide As Slide
Dim PPT As PowerPoint.Application
Set PPT = New PowerPoint.Application
PPT.Visible = True
' Minimize the PPT and hide it from the background
PPT.WindowState = ppWindowMinimized
For i = 1 To PPT.ActivePresentation.Slides.Count
' Clear everything from the sheet/tab (MM Report)
' Clear the sheet/tab
For Each shp In ActiveSheet.Shapes
' Create the label for the page display of MM PPT slide
labelString = " MM MODEL STATUS REPORT FOR THE WEEK # " _
& Trim(Str(iNumberOfTheWeek)) & " AND SLIDE # " & Trim(Str(i))
' Write the Slide # from the PPT for display
Sheets("MM Report").Range("C24") = labelString
' Copy the current slide number "i" from the PPT
‘ Paste Special in Enhanced Metafile format for clarity at location B2
ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False _
‘ Resize the pasted slide in the spreadsheet
‘##### HERE, IT SHOULD DISPLAY THE RECENTLY PASTED SLIDE ON THE SPREADSHEET SHEET.
‘##### HOWEVER, IT DOES NOT, EXCEPT FOR THE LAST SLIDE. A BREAKPOINT HERE DOES DISPLAY
‘##### THE RECENTLY COPY/PASTED SLIDE ON THE SPREADSHEET SHEET DURING EACH LOOP.
' Set delay timer
Application.Wait (Now + TimeValue("0:00:5"))
Mohammad Afdal 08 Apr 2015, 14:26
Besides PowerPoint file size issue, there is another,bigger, problem with PowerPoint coping the workbook.
If you have multiple charts in your workbook, PowerPoint copies the whole workbook multiple times; One copy per chart. Each workbook is kept separate and thus you have multiple versions, in PowerPoint, and each version gets out of sync with others with a single update. A total mess.
Tina 08 Oct 2013, 15:06
You saved my file size issue, thank you!
Did not realize when you copy/paste graphs into PowerPoint it actually pulls in the Excel workbook as well. I followed your recommendations and it worked like a charm.
Helen 17 Jun 2013, 10:05
But there are 2 "picture" options - what is the difference in the two? (What are pros/cons of each?)