自动更新饼图

时间:2018-08-09 13:39:56

标签: vba excel-vba

我有一个包含大量数据的工作表,我创建了一个数据透视表以包含一个饼图,如果我对源工作表数据进行过滤,我希望该饼图进行更新。我不知道在源工作表上进行过滤时是否有办法自动更新饼图。例如,如果我创建了一个包含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

感谢您的时间和帮助

0 个答案:

没有答案