gpt4 book ai didi

vba - 如何在PowerPoint中更新Excel嵌入式图表?

转载 作者:行者123 更新时间:2023-12-04 05:25:42 24 4
gpt4 key购买 nike

我有30张图表是由excel创建的,并粘贴到了PowerPoint幻灯片上。每个月,我必须通过手动单击图表并进行编辑来更新这30个嵌入式图表。

我知道有一个使用选择性粘贴的选项,因此可以通过单击更新链接来自动更新图表中的数据。但是,我的图表需要一些用户进行编辑。粘贴特殊选项不允许用户编辑图表。因此,我无法使用此粘贴特殊选项。

我认为解决方案在于在Powerpoint中编写VBA。这里的任何专家都可以提供编写此VBA代码的功能,以允许在Powerpoint中更新所有图表吗?我目前正在使用powerpoint2007。非常感谢您的协助。

最佳答案

如果您需要编辑图表,那么很显然,您将需要编辑基础的Excel文件,或者能够在PowerPoint中进行编辑

当您使用提供完全Excel支持的PowerPoint2007(不同于具有数据表的PowerPoint 2003)时,我会

第1部分

  • 将您的Excel文件数据链接到每个图表下方的Excel数据
  • 提供直接使用该数据或将其替换为用户数据
  • 的功能


    这为您提供了一种灵活的解决方案,除了不能通过PowerPoint菜单的“更新链接”命令自动更新每个图表基础的Excel。

    第2部分

    您可以使用下面的代码来测试每个幻灯片上的每个形状是否都有图表。如果是这样,此代码将更新图表下方Excel文件中的第一个Excel链接(可以调整此部分以处理多个链接)
        Sub ChangeChartData()

    Dim pptChart As Chart
    Dim pptChartData As ChartData
    Dim pptWorkbook As Object
    Dim sld As Slide
    Dim shp As Shape

    For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
    If shp.HasChart Then
    Set pptChart = shp.Chart
    Set pptChartData = pptChart.ChartData
    pptChartData.Activate
    Set pptWorkbook = pptChartData.Workbook
    On Error Resume Next
    'update first link
    pptWorkbook.UpdateLink pptWorkbook.LinkSources(1)
    On Error GoTo 0
    pptWorkbook.Close True
    End If
    Next
    Next

    Set pptWorkbook = Nothing
    Set pptChartData = Nothing
    Set pptChart = Nothing

    End Sub

    关于vba - 如何在PowerPoint中更新Excel嵌入式图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9207267/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com