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