How to Automatically Update Linked Excel Charts in PowerPoint
Question details
The user needs to automatically refresh Excel charts that are linked inside a PowerPoint presentation without having to manually open, recalculate, and save the source workbooks.

- Product
- PowerPoint and Excel
- Device & OS
- not provided
- Scenario
- Presenting or finalizing a slideshow that contains dynamic charts linked to external Excel summary workbooks that frequently change.
- Observed behavior
- The PowerPoint chart does not update automatically until the source Excel workbooks are manually opened, recalculated, saved, and the presentation links are refreshed.
Before running any VBA macros, ensure you have saved a backup copy of both your PowerPoint presentation and the linked Excel workbooks to prevent accidental data loss or irreversible changes.
Use a VBA Macro to Automatically Refresh Linked OLE Objects
Run a VBA script within PowerPoint to automatically open linked Excel files in the background, recalculate the data, save the changes, and update the charts.
This method uses VBA to loop through all slides and shapes in your presentation to identify linked OLE objects. It opens each source workbook using GetObject, calculates the worksheets, saves the file, and then updates the PowerPoint links.
When pasting VBA code, it is highly recommended to test the macro on copies of your files first. If you encounter missing Excel references during compilation, utilize late binding in your code (e.g., declaring your workbook variable as Object instead of Workbook).
In PowerPoint, press ALT + F11 on your keyboard to open the Visual Basic for Applications (VBA) editor.
Click on 'Insert' in the top menu bar and select 'Module' to create a blank script window for your macro.
Paste your VBA code designed to loop through OLE objects and update links. Ensure you change 'Dim wb As Workbook' to 'Dim wb As Object' if you are using late binding to avoid missing reference errors.
Press F5 or click the 'Run' button in the toolbar to execute the code. The macro will open the source Excel files, calculate them, save, and update the PowerPoint charts.
Manually Refresh Linked Data via PowerPoint Info Settings
If you prefer not to use VBA or experience execution errors, you can force PowerPoint to fetch the latest data from the linked Excel files manually through the Info menu.
Try WPS Office for Seamless Chart Linking and Data Management
If you frequently struggle with updating linked data or dealing with complex VBA scripts to keep your presentations up to date, consider switching to WPS Office. It provides a lightweight, highly compatible alternative to Microsoft Office, making it easy to create presentations and link spreadsheet data seamlessly without advanced coding.
- 1. Download and Install: Get the free WPS Office suite from the official website and install it on your computer.
- 2. Open Your Files: Launch WPS Presentation and open your existing .pptx files containing the linked charts.
- 3. Update Links Seamlessly: Use the intuitive built-in data tools to manage and refresh your linked spreadsheet data without needing VBA.

Frequently Asked Questions
Why does my PowerPoint chart not update automatically when the Excel file changes?
By default, linked PowerPoint charts rely on the saved state of the source Excel file. If the Excel file is closed or has been modified but not recalculated and saved, PowerPoint retains the old cached data until the source is fully updated and the presentation links are prompted to refresh.
What is late binding in VBA, and why should I use it for Excel links?
Late binding involves declaring objects generically (e.g., using 'Dim wb As Object') rather than specifically (e.g., 'Dim wb As Workbook'). This prevents compile errors if the Microsoft Excel Object Library reference is missing or differs between computer versions, making your macro more reliable across different machines.
Can I update all linked charts at once without using a VBA macro?
Yes, you can manually update all links at once by navigating to File > Info > Edit Links to Files, selecting all the listed OLE links, and clicking 'Update Now'. Note that the Excel source files still need to have been previously saved with the new calculated data for this to work.




