• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:困っています。エクセルの3D棒グラフを作る時に特定の値だけ色を変える方法を教えて下さい)

エクセルで特定の値だけ色を変える3D棒グラフ作成方法

このQ&Aのポイント
  • エクセルの3D棒グラフを作る方法と、特定の値だけ色を変える方法について教えてください。
  • 特定の値だけ色を変えたい場合、棒グラフを直接クリックして書式設定で色を変える方法しかないのでしょうか?
  • 棒グラフにおいて各列の最大値だけ色を変える方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

グラフを選択してから下記VBAを実行してください。 Dim ser As Series Dim v As Variant Dim maxv As Variant Dim i As Integer For Each ser In ActiveChart.SeriesCollection v = ser.Values maxv = WorksheetFunction.Max(v) ser.Interior.ColorIndex = ser.Interior.ColorIndex For i = LBound(v) To UBound(v) If v(i) = maxv Then ser.Points(i).Interior.ColorIndex = 6 End If Next i Next

salty_salt
質問者

お礼

プログラムまだ載せていただいてありがとうございます。 実行してみたところ、思っていたような結果になりましたが、何ヶ所か最大値ではないのにグラフの色が変わってしまっているところがありました。なぜでしょうか?

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

>何ヶ所か最大値ではないのにグラフの色が変わってしまっているところがありました。 >なぜでしょうか? salty_saltさんと、全く同じ環境でテストできないので、解りません。 ご自分でデバッグして原因を突き止めてください。 あるいは、実際の環境はどうなっているか、具体的に教えてください。 試しに、先のコードでIf文を下記に変えてみてください。 実行時に対象要素が選択され、値がメッセージ表示されます。 合っているかどうか確認できます。 If v(i) = maxv Then ser.Points(i).Select Application.ScreenUpdating = True MsgBox v(i) ser.Points(i).Interior.ColorIndex = 6 End If

salty_salt
質問者

お礼

すいません、最初のプログラムでうまくいってました。 勘違いしてたみたいです。 丁寧に教えて下さって本当にありがとうございました。