Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Vba隐藏饼图切片_Excel_Vba_Pie Chart - Fatal编程技术网

Excel Vba隐藏饼图切片

Excel Vba隐藏饼图切片,excel,vba,pie-chart,Excel,Vba,Pie Chart,我用宏创建了一些饼图。我需要更改宏,使其隐藏饼图的某些部分-通过转到“选择图表数据”并取消选中要隐藏的点,手动执行此操作非常简单。但是,我无法确定在vba中转换为哪些对象和属性,也无法在每次运行此报告时手动执行此操作。 注意:编辑图表所查看的基础数据的简单方法不是一个选项 下面是我一直在尝试的一段代码片段,一旦它工作,我将把它复制到主宏中。我想我已经很接近了,缩小到我想要隐藏的特定点对象。任何帮助完成最后一步都将不胜感激,因为我不知道要改变什么属性来完成这一步 Sub HideDataPoint

我用宏创建了一些饼图。我需要更改宏,使其隐藏饼图的某些部分-通过转到“选择图表数据”并取消选中要隐藏的点,手动执行此操作非常简单。但是,我无法确定在vba中转换为哪些对象和属性,也无法在每次运行此报告时手动执行此操作。
注意:编辑图表所查看的基础数据的简单方法不是一个选项

下面是我一直在尝试的一段代码片段,一旦它工作,我将把它复制到主宏中。我想我已经很接近了,缩小到我想要隐藏的特定点对象。任何帮助完成最后一步都将不胜感激,因为我不知道要改变什么属性来完成这一步

Sub HideDataPoints()
'Finding out how to hide a slice from a pie chart
Dim sht As Worksheet, chtobj As ChartObject
Set sht = ActiveSheet
With sht
For Each chtobj In .ChartObjects
    If chtobj.Chart.ChartTitle.Caption Like "*Task*" Then
        With chtobj.Chart.FullSeriesCollection(1)
            For a = 1 To .Points.Count
                If .Points(a).HasDataLabel = False Then
                ElseIf .Points(a).DataLabel.Caption Like "*Markham*" Then
                    'Point identified - how do I hide this slice from the chart?
                End If
            Next
        End With
    End If
Next
End With
End Sub

我认为您需要类似于
chtobj.Chart.ChartGroups(1).FullCategoryCollection(a).IsFiltered=True的内容,但您需要向后循环这些点。@Rory太好了,谢谢!!