Excel VBA图表系列过滤后无法取消过滤的解决方法咨询
解决Excel VBA中已过滤图表系列无法重新设置IsFiltered的问题
当你将图表系列的IsFiltered设为True后,该系列会从SeriesCollection中被移除,直接通过SeriesCollection(无论是名称还是索引)引用都会触发“参数无效”错误。此时需要使用FullSeriesCollection来访问所有系列(包括已过滤的),从而修改IsFiltered属性。
修改后的代码示例
Dim myChart As Chart Set myChart = shIndustry.Shapes("IndustryChart702").Chart ' 先过滤系列 myChart.SeriesCollection("Correlation").IsFiltered = True myChart.SeriesCollection("Crowding").IsFiltered = True ' 通过FullSeriesCollection重新取消过滤 myChart.FullSeriesCollection("Correlation").IsFiltered = False myChart.FullSeriesCollection("Crowding").IsFiltered = False
关键说明
FullSeriesCollection会返回图表中所有原始系列,不受过滤状态影响,即使系列被隐藏(IsFiltered=True)也能正常访问。- 如果需要批量处理或通过索引操作,同样可以用
FullSeriesCollection(索引)的方式,比如myChart.FullSeriesCollection(1).IsFiltered = False。
内容的提问来源于stack exchange,提问作者Michael Liew
相关产品推荐
相关产品推荐

