グラフのいずれかのポイントが特定の制限を超えると、その色が変わるはずのこのチャートがあります。
誰かがVBAでチャートを取得し、この種の条件を適用する方法を教えてもらえますか.たとえば、上記のグラフの最高点の色を変更したい. どんな助けでも大歓迎です。
使用: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
コードを必要としない別のアプローチを取りましょう。
ラベルはA1とB1にあるため、データはA2とB2から始まる列A(シーケンス番号または時間)とBの値にあると想定します。列Bの逸脱した値を含むシリーズをグラフに追加します。このシリーズは、逸脱したポイントの前にマーカーを描画して、元のポイントが引き続き存在するようにします。このポイントを再フォーマットする代わりに、新しいシリーズは点。
セルC1に「Deviant」と入力します。
セルC2に、次のような逸脱点を検出する数式を入力します。
= IF(AND(B2> upperlimit、B2
これにより、列Bが上限と下限を超えた場合に値が列Cに配置されます。それ以外の場合は、#N / Aが列Cに配置され、#N/Aはプロットされたポイントになりません。
列Cのデータをコピーし、グラフを選択して、新しい系列として[形式を選択して貼り付け]を選択します。このシリーズをフォーマットして、線がなく、制御点外を示すために使用するギラギラしたマーカーがないようにします。