[英]How to show hidden categories on an Excel Pie chart using VBA
我花了几个小时研究这个问题,但没有结果,并且MSDN中发布的Excel对象模型没有任何帮助。 我有一个带有预建饼形图的Excel电子表格,可通过MS-Access VBA打开和操纵该饼形图。 将填充要显示的数据,并且在Access报告中使用结果图表。 我没有构建原始电子表格,但已对其进行了修改以供自己使用。 用户指出类别之一丢失了。 右键单击图表,然后单击“选择数据”,将弹出“选择数据源”对话框。 类别在右侧列出。 几个未经检查。 我已经全部手动选择了它们,现在图表是正确的。
问题是:我可能想取消选择,(更重要的是)使用VBA代码重新选择这些类别之一。 我很确定我可以取消选择类别,但是一旦发生这种情况,似乎就无法重新选择。 可以使用VBA重新选择以前未选择的类别吗?
打开宏录制器,然后手动过滤掉某些类别并应用过滤器,然后手动重置过滤器。
在饼图中,我具有“ a”至“ f”类别,并手动过滤出“ b”和“ d”,然后将其还原。 这是我记录的代码:
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveChart.ChartGroups(1).FullCategoryCollection(2).IsFiltered = True
ActiveChart.ChartGroups(1).FullCategoryCollection(4).IsFiltered = True
ActiveChart.ChartGroups(1).FullCategoryCollection(2).IsFiltered = False
ActiveChart.ChartGroups(1).FullCategoryCollection(4).IsFiltered = False
End Sub
要重置饼图中的类别过滤器,请运行以下命令(我根据上面记录的代码编写了该代码):
Sub ResetCategoryFilters()
Dim iPt As Long, nPts As Long
With ActiveChart.ChartGroups(1)
nPts = .FullCategoryCollection.Count
For iPt = 1 To nPts
.FullCategoryCollection(iPt).IsFiltered = False
Next
End With
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.