Vba 自动更新饼图

Vba 自动更新饼图,vba,excel,Vba,Excel,我有一个包含大量数据的工作表,我创建了一个透视表来生成饼图,如果我对源工作表数据进行筛选,我希望饼图能够更新。我不知道是否有办法在源表上过滤时自动更新饼图。例如,如果我创建了一个包含10个元素的透视表,并且我在源表中返回并在5个元素上应用了一个新的过滤器,那么我希望饼图能够使用新的过滤器自动更新,而无需创建新的透视表 Sub Macro1 () Cells.Select ActiveWorkbook.PivotCaches.Create(SourceType:=xlDat

我有一个包含大量数据的工作表,我创建了一个透视表来生成饼图,如果我对源工作表数据进行筛选,我希望饼图能够更新。我不知道是否有办法在源表上过滤时自动更新饼图。例如,如果我创建了一个包含10个元素的透视表,并且我在源表中返回并在5个元素上应用了一个新的过滤器,那么我希望饼图能够使用新的过滤器自动更新,而无需创建新的透视表

Sub Macro1 ()
    Cells.Select
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Alarmes!R1C1:R1048576C11", Version:=xlPivotTableVersion15).CreatePivotTable _
            TableDestination:="Graphe DOS!R1C1", TableName:="Tableau croisé dynamique2" _
            , DefaultVersion:=xlPivotTableVersion15
        Sheets("Graphe DOS").Select
        Cells(1, 1).Select
        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.SetSourceData Source:=Range("'Graphe DOS'!$A$1:$C$18")
        With ActiveChart.PivotLayout.PivotTable.PivotFields("Tranches")
            .Orientation = xlPageField
            .Position = 1
        End With
 'i'll be filtering on the SE column
        With ActiveChart.PivotLayout.PivotTable.PivotFields("SE")  
            .Orientation = xlPageField
            .Position = 1           
        End With
        With ActiveChart.PivotLayout.PivotTable.PivotFields("Alarmes")
            .Orientation = xlRowField
            .Position = 1
        End With

        ActiveChart.PivotLayout.PivotTable.AddDataField ActiveChart.PivotLayout. _
            PivotTable.PivotFields("Descriptifs"), "Nombre de Descriptifs", xlCount

 End Sub

感谢您的时间和帮助

您可以添加您想要的屏幕截图吗?对我来说,这很难理解,因为原始数据中的过滤器不应该更改透视表(或附在表上的图表),您的意思是刷新图表吗?如果是,,您可以使用
工作表\u change
事件对每次更改进行刷新。我有一个基于此的图表,我想刷新饼图,同时在过滤器上添加一个组件,如@Ibrahimatto,如果这些都是图片,您最好通过该选项重新上传,因为许多人不会/无法查看这些链接我试试看。我还不太熟悉堆栈溢出。