【发布时间】:2018-08-29 16:05:27
【问题描述】:
我有一个 Excel 电子表格,其中包含四个数据透视表,每个数据透视表都有一个相关图表。使用 VB.Net 我更新了数据源,它更新了自动更新其相关图表的数据透视表。这一切都很好。但现在我必须更新每个图表中的标题。
我认为我需要做的是通过了解相关数据透视表的名称来访问图表。
我尝试循环遍历 worksheet.pivotTables 以获取每个数据透视表名称,但在 For Each 行出现错误:
For Each xlPivotTable As Excel.PivotTable In xlWorkSheetShippedSQ.PivotTables
strCurrentPivotTable = xlPivotTable.Name
Next
在 xlWorkSheetShippedSQ.PivotTables 显示
从对象到可枚举的隐式转换
并希望我使用CType(xlWorkSheetShippedSQ.PivotTables, IEnumerable(Of Excel.PivotTable)),但是当我这样做时,我得到了一个 InvalidCastException。 xlWorkSheetShippedSQ 是当前工作表,我已经在其他地方成功使用过。
有没有办法访问每个图表来更改每个名称?如果是,请分享如何?
【问题讨论】:
-
重新阅读我对您的last question 的回答。
PivotTables是一个返回两种类型之一的函数。选择合适的类型。 -
@TnTinMin。我重新阅读了您的答案,并在您提供的链接中发现了 CType 和 TryCast 之间的用法和区别。使用 TryCast 后,它可以正常工作,因为它没有返回错误。再次感谢。