Excel to PPT by macro - TechRepublic
Question
April 21, 2010 at 07:30 PM
parinits

Excel to PPT by macro

by parinits . Updated 16 years, 2 months ago

Sub Chart2PPT()
Dim objPPT As Object
Dim objPrs As Object
Dim objGraph As Object
Dim objDataSheet As Object
Dim rngData As Range
Dim intRow As Integer
Dim intCol As Integer

‘ excel chart data
Set rngData = Range(“A1:J2”)
‘ open powerpoint
Set objPPT = CreateObject(“Powerpoint.application”)
objPPT.Visible = True
‘ existing powerpoint pres
objPPT.Presentations.Open “C:\PPt\Call_volume.ppt”
‘ chart on slide 2
Set objPrs = objPPT.Presentations(1).slides(2)
‘ pointer to graph
Set objGraph = objPrs.Shapes(2).OLEFormat.Object.Application
‘ pointer to graphs data sheet
Set objDataSheet = objGraph.Datasheet
‘ transfer data
For intRow = 1 To rngData.Rows.Count
For intCol = 1 To rngData.Columns.Count
objDataSheet.Cells(intRow, intCol) = rngData.Cells(intRow, intCol)
Next
Next
‘ update to keep changes
objGraph.Update
objGraph.Quit
objPPT.Presentations(1).Save

‘ tidy up objects
Set rngData = Nothing
Set objGraph = Nothing
Set objDataSheet = Nothing
Set objPrs = Nothing
Set objPPT = Nothing
End Sub

This discussion is locked

All Comments