2016-05-18 15 views
0

奇数の線と色の色に従って偶数の線とマーカーの色を設定しようとしています。vba内の他の線とマーカーの色に応じてチャートの線とマーカーの色を設定します

私のテーブルは、このように見えます(speed1、performance1、speed2、performance2、.....) 私は折れ線グラフをプロットするときは、ちょうどすべての線に別の色を与えます。私の場合は、2つの列(速度とパフォーマンス)ごとに1つの色を与えたいと考えています。だから、私はラインの色とマーカーの色を取得するたびに、これらの色を次の行(奇数列から偶数列の色)に割り当てます。

これは私のコードです:

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)など)を選択しようとすると偶数ラインに割り当てられ、すべて赤色になります。

UPDATE:私はsrc.Format.Line.ForeColor.RGBとsrc.Format.Fill.ForeColor.RGBの値を印刷するメッセージボックスを使用する場合 私はすべての行に対してそれぞれ16777215と0を取得します。だから私はなぜこれらの値と、なぜ彼らはすべての行で同じであるのか分からないのですか?

誰かが私のコードの問題を知っていますか?

ありがとうございました!

答えて

0

は、この行する必要があります

dst.Format.Line.ForeColor.RGB = src.Format.Fill.ForeColor.RGB 

代わりになる:

dst.Format.Line.ForeColor.RGB = src.Format.Line.ForeColor.RGB 
+0

はい、私もそれを試してみましたが、それはまだ黒い色を与えるので、それは動作しません。これはかなり奇妙です!私は何をすべきかわからない、私はインターネットのどこかでこのvbaのバグを見たことがあるが、私はまだこれを行う方法を待っている!ありがとう! – Othmane

+0

MsgBoxを使ってsrc.Format.Line.ForeColor.RGBとsrc.Format.Fill.ForeColor.RGBの値を印刷すると、それぞれ16777215と0が得られますが、これは理解できません。 – Othmane

関連する問題