8

グラフのいずれかのポイントが特定の制限を超えると、その色が変わるはずのこのチャートがあります。

ここに画像の説明を入力


誰かがVBAでチャートを取得し、この種の条件を適用する方法を教えてもらえますか.たとえば、上記のグラフの最高点の色を変更したい. どんな助けでも大歓迎です。

4

2 に答える 2

15

使用:ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart1").Chart.SeriesCollection(1)

各ポイントの色は.Points(PointNumber).Interior.Color

あなたが循環しなければならないポイントの数は.Points.Count

各ポイントの値は.Points(PointNumber).Value

マーカー自体の色(線図、散布図、レーダーチャートにのみ適用されます):

.Points(PointNumber).MarkerBackgroundColor = RGB(0,255,0)    ' green
.Points(PointNumber).MarkerForegroundColor = RGB(255,0,0)    ' red
.Points(PointNumber).MarkerStyle = xlMarkerStyleCircle ' change the shape
于 2012-06-21T15:42:18.120 に答える
5

コードを必要としない別のアプローチを取りましょう。

ラベルはA1とB1にあるため、データはA2とB2から始まる列A(シーケンス番号または時間)とBの値にあると想定します。列Bの逸脱した値を含むシリーズをグラフに追加します。このシリーズは、逸脱したポイントの前にマーカーを描画して、元のポイントが引き続き存在するようにします。このポイントを再フォーマットする代わりに、新しいシリーズは点。

セルC1に「Deviant」と入力します。

セルC2に、次のような逸脱点を検出する数式を入力します。

= IF(AND(B2> upperlimit、B2

これにより、列Bが上限と下限を超えた場合に値が列Cに配置されます。それ以外の場合は、#N / Aが列Cに配置され、#N/Aはプロットされたポイントになりません。

列Cのデータをコピーし、グラフを選択して、新しい系列として[形式を選択して貼り付け]を選択します。このシリーズをフォーマットして、線がなく、制御点外を示すために使用するギラギラしたマーカーがないようにします。

于 2012-06-30T21:42:09.447 に答える