如何将单个或所有图表从Excel工作表导出到PowerPoint?

网友投稿 214 2023-12-26

如何将单个或所有图表从Excel工作表导出到PowerPoint?

有时,出于某些目的,您可能需要将图表或所有图表从Excel导出到PowerPoint。 本文讨论的是如何实现它。

使用VBA代码将单个图表或所有图表从Excel工作表导出到PowerPoint

使用VBA代码将单个图表或所有图表从Excel工作表导出到PowerPoint
惊人的! 在 Excel 中使用高效的选项卡,如 Chrome、Firefox 和 Safari! 每天节省50%的时间,并减少数千次鼠标单击!

本节将介绍VBA代码,以将单个图表或所有图表从工作簿导出到PowerPoint。 请执行以下操作。

1。 按 其他 + F11 钥匙一起打开 Microsoft Visual Basic应用程序 窗口。

2.在 Microsoft Visual Basic应用程序 窗口中,单击 工具 > 参考资料 如下图所示。

3.在 参考– VBAProject 对话框中,向下滚动以查找并检查 Microsoft PowerPoint对象库 选项,然后单击 OK 按钮。 看截图:

4。 然后点击 插页 > 模块.

5.如果要将单个图表导出到PowerPoint,请转到在工作表中选择图表,然后返回到 Microsoft Visual Basic应用程序 窗口,将下面的VBA代码复制并粘贴到“模块”窗口中。

如何将单个或所有图表从Excel工作表导出到PowerPoint?

VBA代码:将单个图表从Excel工作表导出到PowerPoint

Sub SingleActiveChartToPowerPoint_EarlyBinding1() Updated by Extendoffice 2017/9/15 Dim pptApp As PowerPoint.Application Dim pptPres As PowerPoint.Presentation Dim pptSlide As PowerPoint.Slide Dim pptShape As PowerPoint.Shape Dim pptShpRng As PowerPoint.ShapeRange Dim xActiveSlideNow As Long On Error Resume Next If ActiveChart Is Nothing Then MsgBox "Select a chart and try again!", vbExclamation, "KuTools For Excel" Exit Sub End If Set pptApp = GetObject(, "PowerPoint.Application") If pptApp Is Nothing Then Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) Else If pptApp.Presentations.Count > 0 Then Set pptPres = pptApp.ActivePresentation If pptPres.Slides.Count > 0 Then xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex Set pptSlide = pptPres.Slides(xActiveSlideNow) Else Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) End If Else Set pptPres = pptApp.Presentations.Add Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) End If End If ActiveChart.ChartArea.Copy With pptSlide .Shapes.Paste Set pptShape = .Shapes(.Shapes.Count) Set pptShpRng = .Shapes.Range(pptShape.Name) End With With pptShpRng .Align msoAlignCenters, True .Align msoAlignMiddles, True End With pptShpRng.Select End Sub
Copy

如果要从工作簿中导出所有图表,请复制以下VBA代码并将其粘贴到“模块”窗口中。

VBA代码:将所有图表从Excel工作表导出到PowerPoint

Option Explicit Updated by Extendoffice 2017/9/15 Dim pptApp As PowerPoint.Application Dim pptPres As PowerPoint.Presentation Dim pptSlide As PowerPoint.Slide Dim pptSlideCount As Integer Sub ChartsToPowerPoint() Dim xSheet As Worksheet Dim xChartsCount As Integer Dim xChart As Object Dim xActiveSlideNow As Integer On Error Resume Next For Each xSheet In ActiveWorkbook.Worksheets xChartsCount = xChartsCount + xSheet.ChartObjects.Count Next xSheet If xChartsCount = 0 Then MsgBox "Sorry, there are no charts to export!", vbCritical, "Ops" Exit Sub End If Set pptApp = GetObject(, "PowerPoint.Application") If pptApp Is Nothing Then Set pptApp = CreateObject("PowerPoint.Application") Set pptPres = pptApp.Presentations.Add Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) Else If pptApp.Presentations.Count > 0 Then Set pptPres = pptApp.ActivePresentation If pptPres.Slides.Count > 0 Then xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex Set pptSlide = pptPres.Slides(xActiveSlideNow) Else Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) End If Else Set pptPres = pptApp.Presentations.Add Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank) End If End If For Each xSheet In ActiveWorkbook.Worksheets For Each xChart In xSheet.ChartObjects Call pptFormat(xChart.Chart) Next xChart Next xSheet For Each xChart In ActiveWorkbook.Charts Call pptFormat(xChart) Next xChart Set pptSlide = Nothing Set pptPres = Nothing Set pptApp = Nothing MsgBox "The charts were copied successfully to the new presentation!", vbInformation, "KuTools For Excel" End Sub Private Sub pptFormat(xChart As Chart) Dim xCharTiTle As String Dim I As Integer On Error Resume Next xCharTiTle = xChart.ChartTitle.Text xChart.ChartArea.Copy pptSlideCount = pptPres.Slides.Count Set pptSlide = pptPres.Slides.Add(pptSlideCount + 1, ppLayoutBlank) pptSlide.Select pptSlide.Shapes.PasteSpecial ppPasteJPG If xCharTiTle <> "" Then pptSlide.Shapes.AddTextbox msoTextOrientationHorizontal, 12.5, 20, 694.75, 55.25 End If For I = 1 To pptSlide.Shapes.Count With pptSlide.Shapes(I) Select Case .Type Case msoPicture: .Top = 87.84976 .left = 33.98417 .Height = 422.7964 .Width = 646.5262 Case msoTextBox: With .TextFrame.TextRange .ParagraphFormat.Alignment = ppAlignCenter .Text = xCharTiTle .Font.Name = "Tahoma (Headings)" .Font.Size = 28 .Font.Bold = msoTrue End With End Select End With Next I End Sub
Copy

6。 按 F5 键或单击“运行”按钮以运行代码。 然后将打开一个新的PowerPoint,其中包含选定的图表或所有导入的图表。 你会得到一个 Kutools for Excel 对话框如下图所示,请点击 OK 按钮。

相关文章: 如何在Excel中保存,导出多个/所有工作表到单独的csv或文本文件? 如何在Excel中将所选内容或整个工作簿另存为PDF?

最佳办公生产力工具

将小时转化为分钟 Kutools for Excel!

准备好增强您的 Excel 任务了吗? 利用的力量 Kutools for Excel - 您终极的节省时间的工具。 简化复杂的任务并像专业人士一样浏览数据。 以闪电般的速度体验 Excel!

为什么需要 Kutools for Excel

🛠️  超过 300 项强大功能: Kutools 包含 300 多项高级功能,可简化您在 1500 多种场景中的工作。

📈  卓越的数据处理能力:合并单元格、删除重复项并执行高级数据转换 - 所有这些都不费吹灰之力!

⏱️  高效的批量操作:当你可以聪明地工作时,为什么还要付出额外的努力呢? 轻松批量导入、导出、组合和调整数据。

📊  可定制的图表和报告:访问各种附加图表并生成富有洞察力的报告。

🗄️  强大的导航窗格:通过强大的列管理器、工作表管理器和自定义收藏夹获得优势。

📝  七种类型的下拉列表:通过各种功能和类型的下拉列表使数据输入变得轻而易举。

🎓  用户友好:对于初学者来说轻而易举,对于专家来说是一个强大的工具。

立即下载,与 Excel 一起穿越时空!

阅读更多 免费下载... 采购... 
Office Tab 为 Office 带来选项卡式界面,让您的工作更轻松
Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。 每天将您的工作效率提高50%,并减少数百次鼠标单击!
阅读更多 免费下载... 采购... 

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何将Excel中的单元格范围导出到CSV文件?
下一篇:无代码开发平台作用
相关文章