Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
OK, I think I have a question that will stump even the best of you! :)
I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#2
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Partway through this article you'll find programmatic approaches to that
very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#3
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
It amazes me to see the amount of knowledge stored on these forums. I'm
seriously impressed that there is an answer to my question. Thank you Jon. Unfortunately, my VB skills are at about the same level as my 2 year old son's. In other words, I don't know the first thing about it. I figured out how to paste the code into the VBE, but when I try to run the macro, I get an error saying "User Type not Defined." I know this has to be a very basic issue, but like I said, I don't know the first thing about VB. Am I better off just copying and pasting my charts one at a time? "Jon Peltier" wrote: Partway through this article you'll find programmatic approaches to that very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#4
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
I suspect you didn't set the reference to PowerPoint. It's described higher
on the page than the specific code you must have copied. Just under the big title "Activating Other Applications with Excel VBA". - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... It amazes me to see the amount of knowledge stored on these forums. I'm seriously impressed that there is an answer to my question. Thank you Jon. Unfortunately, my VB skills are at about the same level as my 2 year old son's. In other words, I don't know the first thing about it. I figured out how to paste the code into the VBE, but when I try to run the macro, I get an error saying "User Type not Defined." I know this has to be a very basic issue, but like I said, I don't know the first thing about VB. Am I better off just copying and pasting my charts one at a time? "Jon Peltier" wrote: Partway through this article you'll find programmatic approaches to that very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#5
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Wow! You, sir, are my hero! Thank you very much!
"Jon Peltier" wrote: I suspect you didn't set the reference to PowerPoint. It's described higher on the page than the specific code you must have copied. Just under the big title "Activating Other Applications with Excel VBA". - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... It amazes me to see the amount of knowledge stored on these forums. I'm seriously impressed that there is an answer to my question. Thank you Jon. Unfortunately, my VB skills are at about the same level as my 2 year old son's. In other words, I don't know the first thing about it. I figured out how to paste the code into the VBE, but when I try to run the macro, I get an error saying "User Type not Defined." I know this has to be a very basic issue, but like I said, I don't know the first thing about VB. Am I better off just copying and pasting my charts one at a time? "Jon Peltier" wrote: Partway through this article you'll find programmatic approaches to that very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#6
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Jon,
This is working brilliantly. I'd like to throw one more challenge at you if you don't mind. It follows below. Here is the code I'm using for the macro (you'll notice that I removed the line/command that copies the chart as a picture. This is intentional.): Sub ChartsToPresentation() ' Set a VBE reference to Microsoft PowerPoint Object Library Dim PPApp As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim PresentationFileName As Variant Dim SlideCount As Long Dim iCht As Integer ' Reference existing instance of PowerPoint Set PPApp = GetObject(, "Powerpoint.Application") ' Reference active presentation Set PPPres = PPApp.ActivePresentation PPApp.ActiveWindow.ViewType = ppViewSlide For iCht = 1 To ActiveSheet.ChartObjects.Count ' copy chart as a picture ActiveSheet.ChartObjects(iCht).Copy ' Add a new slide and paste in the chart SlideCount = PPPres.Slides.Count Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutBlank) PPApp.ActiveWindow.View.GotoSlide PPSlide.SlideIndex With PPSlide ' paste and select the chart picture .Shapes.Paste.Select ' align the chart PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True End With Next ' Clean up Set PPSlide = Nothing Set PPPres = Nothing Set PPApp = Nothing End Sub Is there a way to output the charts to PowerPoint with the following parameters: Height 5.66 inches Width 9.66 inches Horizontal Position 0 inches from top left corner Vertical Position 1 inch from top left corner Many thanks in advance! "Jon Peltier" wrote: I suspect you didn't set the reference to PowerPoint. It's described higher on the page than the specific code you must have copied. Just under the big title "Activating Other Applications with Excel VBA". - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... It amazes me to see the amount of knowledge stored on these forums. I'm seriously impressed that there is an answer to my question. Thank you Jon. Unfortunately, my VB skills are at about the same level as my 2 year old son's. In other words, I don't know the first thing about it. I figured out how to paste the code into the VBE, but when I try to run the macro, I get an error saying "User Type not Defined." I know this has to be a very basic issue, but like I said, I don't know the first thing about VB. Am I better off just copying and pasting my charts one at a time? "Jon Peltier" wrote: Partway through this article you'll find programmatic approaches to that very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
#7
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
In a different forum I answered one way, that you should make it in Excel so
that it comes out right in PowerPoint. I stick by that, but I'll answer the other way as well. You can adjust this part of the code to handle resizing of the chart. With PPSlide ' paste and select the chart picture .Shapes.Paste.Select ' align the chart PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True End With Instead of centering the chart, position and resize it: With PPSlide ' paste and select the chart picture .Shapes.Paste.Select ' position the chart With PPApp.ActiveWindow.Selection.ShapeRange .Top = 72 ' points .Left = 0 .Width = 9.66 * 72 .Height = 5.66 * 72 End With End With - Jon ------- Jon Peltier, Microsoft Excel MVP Tutorials and Custom Solutions http://PeltierTech.com _______ "mustang25" wrote in message ... Jon, This is working brilliantly. I'd like to throw one more challenge at you if you don't mind. It follows below. Here is the code I'm using for the macro (you'll notice that I removed the line/command that copies the chart as a picture. This is intentional.): Sub ChartsToPresentation() ' Set a VBE reference to Microsoft PowerPoint Object Library Dim PPApp As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim PresentationFileName As Variant Dim SlideCount As Long Dim iCht As Integer ' Reference existing instance of PowerPoint Set PPApp = GetObject(, "Powerpoint.Application") ' Reference active presentation Set PPPres = PPApp.ActivePresentation PPApp.ActiveWindow.ViewType = ppViewSlide For iCht = 1 To ActiveSheet.ChartObjects.Count ' copy chart as a picture ActiveSheet.ChartObjects(iCht).Copy ' Add a new slide and paste in the chart SlideCount = PPPres.Slides.Count Set PPSlide = PPPres.Slides.Add(SlideCount + 1, ppLayoutBlank) PPApp.ActiveWindow.View.GotoSlide PPSlide.SlideIndex With PPSlide ' paste and select the chart picture .Shapes.Paste.Select ' align the chart PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True End With Next ' Clean up Set PPSlide = Nothing Set PPPres = Nothing Set PPApp = Nothing End Sub Is there a way to output the charts to PowerPoint with the following parameters: Height 5.66 inches Width 9.66 inches Horizontal Position 0 inches from top left corner Vertical Position 1 inch from top left corner Many thanks in advance! "Jon Peltier" wrote: I suspect you didn't set the reference to PowerPoint. It's described higher on the page than the specific code you must have copied. Just under the big title "Activating Other Applications with Excel VBA". - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... It amazes me to see the amount of knowledge stored on these forums. I'm seriously impressed that there is an answer to my question. Thank you Jon. Unfortunately, my VB skills are at about the same level as my 2 year old son's. In other words, I don't know the first thing about it. I figured out how to paste the code into the VBE, but when I try to run the macro, I get an error saying "User Type not Defined." I know this has to be a very basic issue, but like I said, I don't know the first thing about VB. Am I better off just copying and pasting my charts one at a time? "Jon Peltier" wrote: Partway through this article you'll find programmatic approaches to that very problem: http://peltiertech.com/Excel/XL_PPT.html - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "mustang25" wrote in message ... OK, I think I have a question that will stump even the best of you! :) I have several worksheets that contain multiple charts. I want to copy the charts from Excel to PowerPoint with one chart to a slide. I can do so one at a time by copying and pasting them. The drawback is that it takes lots of time to do this because I'm working with 250+ charts. My question is if there is a way to quickly export the charts to PowerPoint so that each slide contains a different chart. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Multiple instances of Excel | Excel Discussion (Misc queries) | |||
how to copy multiple Excel files from Outlook into Excel??? | Excel Discussion (Misc queries) | |||
Excel should heavily extend the options for black-white charts | Charts and Charting in Excel | |||
I cant get Excel OFFSET Fnct to return multiple references. | Charts and Charting in Excel | |||
I need to merge text from an Excel doc. into a powerpoint slide? | Excel Discussion (Misc queries) |