エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 – 2010】6色に変更する

【本日のミッション】

Excel VBAにて、既存の棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 – 2010】6色に変更せよ。

ミッションの概要

Excel VBAにて、既存の棒グラフの塗りつぶし・線色をテーマの色【Office 2007 – 2010】6色に変更せよ、というのが今回のミッションです。

今回は色の種類が6色の簡単な処理をご紹介します。

リボン「ページレイアウト」タブの「テーマ」ー「配色」を「Office 2007 – 2010」に設定してしているエクセルファイルが対象です。

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

データには気象庁 過去の気象データを使用させて頂きました。
あまり現実的なグラフではないですが、サンプルとしてお許しください。
気象庁 過去の気象データ・ダウンロード

任意の色に設定した棒グラフ「グラフ 1」系列の塗りつぶし・線色を・・・

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
テーマの色【Office 2007 – 2010】6色に変更します。
エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

プロシージャ

アクティブシートの棒グラフ「グラフ 1」の塗りつぶし・線色を、テーマの色【Office 2007 – 2010】6色に変更するコードです。

Sub 棒グラフをテーマの色6色に変更()

    '【変数】
    Dim ser As Series       '系列
    Dim MyColor As Integer  'テーマの色

    '■テーマの色の初期値
    MyColor = 5

    '■グラフ1の系列を順に処理
    For Each ser In ActiveSheet.ChartObjects("グラフ 1").Chart.SeriesCollection
        
        '■グラフの線色を変更
        ser.Format.Fill.ForeColor.ObjectThemeColor = MyColor   '塗りつぶしの色
        ser.Format.Line.ForeColor.ObjectThemeColor = MyColor   '線色
        
        '■テーマの色 変更
        MyColor = MyColor + 1
    Next

End Sub

今回は、テーマの色の左から5~10列目の色を使用します。

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

なんでテーマの色に番号を使うの?という疑問をお持ちの方は、こちらの記事をご覧ください。
エクセル VBA【配色テーマ office 2007 – 2010】セルの塗りつぶしのテーマの色・色の明暗を取得

■■■スポンサーリンク■■■

SeriesCollection.Format.Fillプロパティ

系列「SeriesCollection」の、塗りつぶしの書式を設定するためのオブジェクトを返します。

SeriesCollection.Format.Fill

SeriesCollection.Format.Lineプロパティ

系列「SeriesCollection」の、線の書式を設定するためのオブジェクトを返します。

SeriesCollection.Format.Line

ForeColor.ObjectThemeColorプロパティ

オブジェクトにテーマの色を設定します。

オブジェクト.ForeColor.ObjectThemeColor = テーマの色

今回は系列SeriesCollectionの変数「ser」の塗りつぶし・線色に、変数「MyColor」に入れたテーマの色を設定しています。

ser.Format.Fill.ForeColor.ObjectThemeColor = MyColor
ser.Format.Line.ForeColor.ObjectThemeColor = MyColor

テーマの色には、カラーパレットの並んでいる順の番号を指定します。
今回は、5番目から10番目の色を使用しています。

なんでテーマの色に番号を使うの?という疑問をお持ちの方は、こちらの記事をご覧ください。
エクセル VBA【配色テーマ Office 2007 – 2010】セルの塗りつぶしのテーマの色・色の明暗を取得

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 - 2010】6色に変更する

【色の変更方法】

初めに変数「MyColor」に初期値の「5」を設定します。

MyColor = 5

グラフに色の設定をした後、「MyColor」に次の色を設定します。

MyColor = MyColor + 1

参照

系列が1つのグラフを自動大量連続作成(Excel VBA)
「実行時エラー 1004」を出さずに、ワークシート内のグラフを「グラフ 元」以外全て削除(Excel VBA)
グラフの参照先を変えると勝手にグラフの色が変わる現象を解決せよ
系列が複数あるグラフを自動大量連続作成(Excel VBA)
n行毎の改ページ設定 「実行時エラー1004 RangeクラスのPageBreakプロパティを設定できません」の原因(Excel VBA)
参照データ数が異なる・参照先が変動する月別グラフを自動大量連続作成(Excel VBA)
複数系列・参照データ数が異なる・参照先が変動する月別グラフを自動大量連続作成(Excel VBA)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
エクセル シートに画像が存在するかどうか(有無)を調べる方法(Excel VBA)
エクセルシート上 全てのオブジェクト(画像・図形・グラフ等)を選択し、削除する(Excel VBA)
エクセルシート上のオブジェクト(図形・画像・グラフ等)の件数を数える方法(Excel VBA)
エクセル シートにグラフが存在するかどうか(有無)を調べる方法(Excel VBA)
エクセル シートに図形が存在するかどうか(有無)を調べる方法(Excel VBA)
エクセル 選択しているセル範囲に写真が存在しているか(有無)を確認(Excel VBA)
エクセル 選択しているセル範囲にグラフが存在しているか(有無)を確認(Excel VBA)
エクセル 選択しているセル範囲に図形が存在しているか(有無)を確認(Excel VBA)
エクセル 選択セル範囲の写真を削除する(Excel VBA)
エクセル 選択セル範囲のグラフを削除する(Excel VBA)
エクセル 選択セル範囲の図形を削除する(Excel VBA)
Excel VBAでワードを起動して文字を入力操作(Excel VBA)
Excel VBAでワードを起動してエクセルの表をワードに貼付け(Excel VBA)
Excel VBAでワードを起動して エクセルのエクセルの表を図としてワードに貼付け(Excel VBA)
Word コピー貼付けした図が白い枠だけ?図が表示されない現象を解決
Excel VBAでワードを起動して グラフをワードに図として貼付け(Excel VBA)
Excel VBAでワードを起動して 複数のグラフをワードに図として貼付け(Excel VBA)
エクセル VBA グラフにタイトルを追加する(Excel VBA)
エクセル VBA グラフのタイトルテキストを取・する(Excel VBA)
エクセル VBA グラフに凡例を追加する(Excel VBA)
エクセル VBA グラフオブジェクトの名前を変更する(Excel VBA)
エクセルVBA アクティブなグラフからChartObjectを変数にセット(Excel VBA)
エクセル VBA アクティブなグラフの名前を取得する(Excel VBA)
エクセル VBA【配色テーマ Office】セルの塗りつぶしのテーマの色・色の明暗を取得
エクセル VBA【配色テーマ Office 2007 – 2010】セルの塗りつぶしのテーマの色・色の明暗を取得
エクセル VBA セルの塗りつぶしに【配色テーマ Office】の色を設定(Excel VBA)
エクセル VBA セルの塗りつぶしに【配色テーマ Office 2007-2010】の色を設定(Excel VBA)
エクセル VBA【配色テーマ Office】セルの塗り テーマの色からRGB(赤・緑・青)を取得せよ
エクセル VBA【配色テーマ Office 2007-2010】セルの塗り テーマの色からRGB(赤・緑・青)を取得せよ
エクセル VBA 折れ線グラフの線色をテーマの色【Office】6色に変更する
エクセル VBA 折れ線グラフの線色をテーマの色【Office 2007 – 2010】6色に変更する
エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office】6色に変更する
エクセル VBA 棒グラフ系列の塗りつぶし・線色をテーマの色【Office 2007 – 2010】6色に変更する

■■■スポンサーリンク■■■