Excel 获取当前透视表的图表名称

Excel 获取当前透视表的图表名称,excel,vba,vb.net,Excel,Vba,Vb.net,我有一个Excel电子表格,有四个数据透视表,每个表都有一个相关的图表。使用VB.Net更新数据源,该数据源更新数据透视表,数据透视表自动更新相关图表。所有这些都很有效。但现在我必须更新每个图表中的标题 我想我需要做的是通过知道图表相关透视表的名称来访问图表 我尝试在工作表中循环。数据透视表以获取每个数据透视表的名称,但在For each line处出现错误: For Each xlPivotTable As Excel.PivotTable In xlWorkSheetShippedSQ.Pi

我有一个Excel电子表格,有四个数据透视表,每个表都有一个相关的图表。使用VB.Net更新数据源,该数据源更新数据透视表,数据透视表自动更新相关图表。所有这些都很有效。但现在我必须更新每个图表中的标题

我想我需要做的是通过知道图表相关透视表的名称来访问图表

我尝试在工作表中循环。数据透视表以获取每个数据透视表的名称,但在For each line处出现错误:

For Each xlPivotTable As Excel.PivotTable In xlWorkSheetShippedSQ.PivotTables
            strCurrentPivotTable = xlPivotTable.Name

Next
xlWorkSheetShippedSQ.数据透视表中显示

从对象到ienumerable的隐式转换

并希望我使用
CType(xlWorkSheetShippedSQ.PivotTables,IEnumerable(Excel.PivotTable的))
但当我这样做时,我得到一个InvalidCastException。xlWorkSheetShippedSQ是当前的工作表,我已经在其他地方成功地使用了它


是否有方法访问每个图表以更改每个名称?如果是,请分享如何回答?

@TnTinMn在他们为我回答的另一个问题中几乎提供了答案。正如我在上一篇评论中提到的,使用TryCast是有效的,因为它没有返回错误

重读我对你的问题的回答<代码>数据透视表是一个返回两种类型之一的函数。选择正确的类型。@TnTinMin。我重新阅读了您的答案,并在您提供的链接中找到了CType和TryCast之间的用法和区别。在使用TryCast后,它工作正常,因为它没有返回错误。再次感谢。