图表标签在运行调整大小范围后不会更新'宏

时间:2015-12-22 19:56:37

标签: excel vba excel-vba

我有一个Power Point演示文稿,其中有200张幻灯片。每张幻灯片都有一个图表,每月通过指向主xlsx文件的链接更新数据。为了不在图表中显示空值(未来月份),我必须打开每个图表的数据编辑器(图表右键单击>编辑数据...)并选择当前月份的范围。

我在Power Point中为它写了一个宏:

Sub Refresh_slides()

For i = 1 To ActivePresentation.Slides.Count

    Set ObjSlide = ActivePresentation.Slides(i)

    On Error Resume Next

        Set mychart = ObjSlide.Shapes("Chart 3").Chart
        mychart.Select
        mychart.ChartData.Activate
        Set wb = mychart.ChartData.Workbook
        Set ws = wb.Worksheets(1)

        Application.Run "Refresh_slides_AUX.xlsm!atual_slide"

        wb.Close True

Next

End Sub

Refresh_slides_AUX.xlsm是一个辅助宏工作表,用于选择每个图表的正确范围(必要的是因为Power Point VBA,只要我知道,不能选择这样做):

Sub atual_slide()

Windows("Gráfico no Microsoft PowerPoint").Activate
ActiveSheet.ListObjects("Table1").Resize Range("$A$1:$I$23")
ActiveWindow.Close SaveChanges:=True

End Sub

它工作正常,但即使在调整范围大小后,图表标签也不能反映源数据中的这种变化。如何强制更新图表标签的外观?似乎行之间缺少某些东西

ActiveSheet.ListObjects("Table1").Resize Range("$A$1:$I$23")

 ActiveWindow.Close SaveChanges:=True

喜欢"刷新"或者"重置",但我无法弄清楚......

有什么想法吗?

PS。通过"标签"我的意思是数据表(不知道他们如何用英语称呼它),这是Office中的标签选项。例如。下面:

enter image description here

0 个答案:

没有答案