我正在尝试根据奇数行和颜色的颜色设置偶数行和标记的颜色。
让我们说,我的表看起来像这样(speed1,performance1,speed2,performance2,.....) 当我绘制折线图时它只是给每一行提供不同的颜色。在我的情况下,我想给每两列(速度和性能)一个颜色。因此,为此我每次都尝试获取一条线的颜色和标记的颜色,然后将这些颜色分配给下一行(奇数列到偶数列的颜色)。
这是我的代码:
Sub ChangeColors()
Dim cht As Chart
Dim ser As Series
Set cht = ActiveChart
For i = 1 To cht.SeriesCollection.Count
If (i Mod 2) = 0 Then
Set dst = cht.SeriesCollection(i)
Set src = cht.SeriesCollection(i - 1)
dst.Format.Line.Visible = msoFalse
dst.Format.Line.Visible = msoTrue
dst.Format.Line.ForeColor.RGB = src.Format.Line.ForeColor.RGB
dst.Format.Fill.ForeColor.RGB = src.Format.Fill.ForeColor.RGB
End If
Next i
End Sub
问题是最后所有偶数线变黑。但是,当我尝试选择RGB颜色(例如,RGB(255,0,0))时,将它分配给偶数行,它们都变成红色,因此它可以工作。
更新 当我使用MsgBox打印src.Format.Line.ForeColor.RGB和src.Format.Fill.ForeColor.RGB的值时,我得到的所有行分别为16777215和0。所以我不明白为什么这些值以及为什么它们对于所有线都是一样的?
有谁知道我的代码有什么问题?
谢谢!
答案 0 :(得分:0)
这一行:
dst.Format.Line.ForeColor.RGB = src.Format.Fill.ForeColor.RGB
取而代之的是:
dst.Format.Line.ForeColor.RGB = src.Format.Line.ForeColor.RGB