我的代码有问题.我想更改数据透视图的颜色



我是 VBA 的新手,我正在尝试做的这段代码一直说"对象不支持此属性或方法"。我想知道它有什么问题或该怎么办?

正在尝试做的是我创建了一个按钮来更改此数据,并且每次数据更改时,图形也会更改。但我也想改变图表的颜色。但我不想选择最后的图表。

Sub Add_Value_Field()
Dim pt As PivotTable
Dim pf As PivotField
Dim sField As String
'Set Variable
Set pt = ActiveSheet.PivotTables(1)
sField = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
'Remove Existing Fields
For Each pf In pt.DataFields
If pf.Name <> "Values" Then
    pf.Orientation = xlHidden
End If
Next pf
'Add fields that button was clicked for
pt.PivotFields(sField).Orientation = xlDataField
Call unselect
End Sub

Sub Unselect()
   With ActiveSheet.ChartObjects("Chart 1").FullSeriesCollection(1).Format.Fill
           .Visible = msoTrue
           .ForeColor.ObjectThemeColor = msoThemeColorAccent2
           .ForeColor.TintAndShade = 0
           .ForeColor.Brightest = 0
           .Transparency = 0
           .Solid
    End With
End Sub

我希望代码运行流畅,而不是那么小故障。

谢谢!

ChartObject只是 Chart 对象的"容器",因此您可以更改以下内容:

With ActiveSheet.ChartObjects("Chart 1").FullSeriesCollection(1).Format.Fill

自:

With ActiveSheet.ChartObjects("Chart 1").Chart.FullSeriesCollection(1).Format.Fill

最新更新