我的代码有问题。我想更改透视图的颜色

时间:2019-04-16 17:49:36

标签: excel vba

我是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

我希望代码能够平稳运行,而不要出现故障。

谢谢!

1 个答案:

答案 0 :(得分:1)

ChartObject只是Chart对象的“容器”,因此您可以更改此设置:

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

收件人:

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