运行resize范围“macros后,图表标签不会更新

我有一个Power Point演示文稿,大约200张幻灯片。 每张幻灯片都有一张图表,每个月份的数据都通过链接到一个主xlsx文件进行更新。 为了不在图表中显示空值(未来几个月),我必须打开每个图表的数据编辑器(图表右键>编辑数据…),并select范围,直到当前月份。

我在Power Point为它写了一个macros:

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是一个辅助的macros工作表,用于select每个图表的正确范围(因为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 

它工作正常,但即使在范围调整后,图表标签也不会反映源数据中的这一更改。 如何强制更新图表标签的外观? 好像有些东西在行之间缺less

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

  ActiveWindow.Close SaveChanges:=True 

像“刷新”或“重置”,但我无法弄清楚…

有任何想法吗?

PS。 “标签”我的意思是一个数据表(不知道他们是怎么称呼它的英文)这是一个在Office的标签选项。 例如。 下面:

在这里输入图像说明