gpt4 book ai didi

vba - Excel VBA更改数据透视图中系列的颜色

转载 作者:行者123 更新时间:2023-12-04 21:07:36 29 4
gpt4 key购买 nike

这是那些应该非常简单的愚蠢问题之一,但我无法弄清楚出了什么问题,而且我在互联网上找到的所有内容都没有奏效。

在更改数据透视表中的过滤器后,我只想重新着色数据透视图中的系列线。这是我尝试过的:

ThisWorkbook.Charts(ChartName).SeriesCollection(SeriesName) _
Format.Line.ForeColor = RGB(75, 172, 198)

该代码给了我“下标超出范围”错误。我也试过:
Sheets(SheetName).ChartObjects(ChartName).Chart.SeriesCollection(SeriesName) _
.Format.Line.ForeColor = RGB(75, 172, 198)


 ... .ForeColor.ColorIndex = 3


... .ForeColor.ObjectThemeColor = msoThemeColorAccent4

但是这些都给了我一个“类型不匹配”的错误。 Excel 的 VBA 记录器给了我:
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent4
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0.400000006
.Transparency = 0
End With

我确定我只是在某个地方出现了一些愚蠢的、明显的错误,但我一生都无法弄清楚如何在数据透视图中访问系列的颜色属性。有时感觉就像试图在一个怪异的迷宫中导航,试图找出某个属性在 VBA 中所属的对象的神秘层次结构......

最佳答案

我从调试一个简单的例子中发现显然你不能分配 .Name属性到数据透视图中的系列。我希望这会引发错误,但事实并非如此。它只是通过任务,就好像什么都没发生一样。

Sub Test()
Dim pivotChart As ChartObject
Dim cht As Chart
Dim srs As Series
Dim seriesName As String

Set pivotChart = ActiveSheet.ChartObjects(1)
Set cht = pivotChart.Chart
Set srs = cht.SeriesCollection(1)

'First look at the name:
Debug.Print srs.Name

'Assign a new name to the string variable
seriesName = "Name"

'Assign the new name from string var to the series
srs.Name = seriesName

'Now review that the name has changed. It hasn't!!
Debug.Print ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Name

End Sub

关于vba - Excel VBA更改数据透视图中系列的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426837/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com