使用VBA复制并粘贴Excel图表到PowerPoint

2022-11-16 12:46:54 浏览数 (1)

标签:VBA

VBA的最大优势之一是可以无缝地在Office应用程序套件之间相互调用,例如,在Excel中操作PowerPoint。本文将使用VBA复制Excel中的一个图表,将粘贴到新创建的PowerPoint中。

首先,在VBE中单击菜单“工具——引用”,在“引用”对话框中,找到并选取“Microsoft PowerPoint 16.0 Object Library”前的复选框。

图1

这将允许Excel和PowerPoint彼此交互。

下面是代码:

代码语言:javascript复制
Sub CopyChartToPPT()
    Dim oPPT As Object
    Dim oPres As Object
    Dim oSld As Object
    Dim oWs As Worksheet
    Dim oCht As ChartObject
    Set oPPT = CreateObject("PowerPoint.Application")
    Set oPres = oPPT.Presentations.Add(msoTrue)
    Set oSld = oPres.Slides.Add(1, ppLayoutTitleOnly)
    Set oWs = ActiveWorkbook.Worksheets(1)
    Set oCht = oWs.ChartObjects(1)
    oCht.Select
    ActiveChart.ChartArea.Copy
    oSld.Shapes.PasteSpecial link:=msoTrue
End Sub

要将单个图表放入空白PowerPoint幻灯片,可将代码中的:

Set oSld = oPres.Slides.Add(1, ppLayoutTitleOnly)

修改为:

Set oSld = oPres.Slides.Add(1, ppLayoutBlank)

简单的几行代码就可以解决需要手动的操作。如果只是复制并粘贴少数几个图表,使用手动操作很容易完成。然而,如果有几十个图表,那么使用VBA会更快且不会出错。

vba

0 人点赞