我是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
我希望代码能够平稳运行,而不要出现故障。
谢谢!
答案 0 :(得分:1)
ChartObject
只是Chart对象的“容器”,因此您可以更改此设置:
With ActiveSheet.ChartObjects("Chart 1").FullSeriesCollection(1).Format.Fill
收件人:
With ActiveSheet.ChartObjects("Chart 1").Chart.FullSeriesCollection(1).Format.Fill