【VBA】系列の色や線の種類を変更する方法(SeriesCollectionの操作)

Excelのグラフを見やすく仕上げるうえで、
「系列ごとの色や線のスタイルを変更したい」
という要望は非常に多いです。

VBAを使えば、SeriesCollectionオブジェクトを操作して、
グラフの系列(棒・折れ線・円など)の色、線の種類、マーカーの形まで自由に変更できます。

この記事では、その基本から応用までを詳しく解説します。


1. SeriesCollectionとは?

SeriesCollection は、**グラフの中にある系列(データの集まり)**を管理するオブジェクトです。

例えば、売上グラフで「2024年」「2025年」という2本の棒がある場合、
それぞれが SeriesCollection(1) と SeriesCollection(2) に対応します。

基本構文は以下の通りです。

Chart.SeriesCollection(番号)

番号は1から始まり、グラフの左から順に割り当てられます。


2. 系列の塗りつぶし(色)を変更する

棒グラフや折れ線グラフの線色を変更するには、
Format.Fill.ForeColor.RGB を使います。

With ActiveSheet.ChartObjects(1).Chart
    '1番目の系列を赤色に変更
    .SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
    
    '2番目の系列を青色に変更
    .SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(0, 102, 204)
End With

この設定は主に 縦棒グラフ・円グラフ などで使用します。


3. 折れ線グラフなどの線の色・スタイルを変更する

折れ線グラフや散布図の線は、Line.ForeColor.RGB を使います。

With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
    '線の色を緑に設定
    .Format.Line.ForeColor.RGB = RGB(0, 176, 80)
    
    '線の太さを変更
    .Format.Line.Weight = 2
    
    '線の種類を破線に設定
    .Format.Line.DashStyle = msoLineDash
End With

💡 主な線の種類

スタイル名意味
msoLineSolid実線(標準)
msoLineDash破線
msoLineDot点線
msoLineDashDot一点鎖線
msoLineDashDotDot二点鎖線

4. 折れ線グラフのマーカーを設定する

折れ線グラフや散布図では、データ点に「マーカー」を付けることができます。

With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
    .MarkerStyle = xlMarkerStyleCircle   '丸
    .MarkerSize = 8                      'サイズ指定
    .MarkerForegroundColor = RGB(0, 0, 0)
    .MarkerBackgroundColor = RGB(255, 255, 0)
End With

💡 主なマーカーの種類

定数名形状
xlMarkerStyleCircle○(丸)
xlMarkerStyleSquare■(四角)
xlMarkerStyleTriangle▲(三角)
xlMarkerStyleDiamond◆(ひし形)
xlMarkerStyleX×(バツ)

5. 系列名を変更する

凡例やツールチップに表示される系列名も変更可能です。

With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
    .Name = "2024年 売上推移"
End With

これにより、見やすく意味のある凡例にすることができます。


6. 系列をまとめて一括設定する

複数の系列を同じ書式にしたい場合は、For Each でループします。

Sub FormatAllSeries()
    Dim ch As Chart
    Dim s As Series

    Set ch = ActiveSheet.ChartObjects(1).Chart

    For Each s In ch.SeriesCollection
        With s.Format.Line
            .ForeColor.RGB = RGB(0, 112, 192) '青系統で統一
            .Weight = 1.5
        End With
    Next s
End Sub

この方法なら、デザイン統一が一瞬で完了します。


7. まとめ

設定項目プロパティ例説明
塗りつぶし色.Format.Fill.ForeColor.RGB棒グラフ・円グラフ用
線の色.Format.Line.ForeColor.RGB折れ線グラフなど
線の太さ.Format.Line.Weightピクセル単位
線の種類.Format.Line.DashStyle実線・破線など
マーカー.MarkerStyle.MarkerSize散布図・折れ線に使用
系列名.Name凡例名を変更

💡ポイント

  • SeriesCollection(番号) で系列を指定
  • 棒グラフは Fill、折れ線グラフは Line
  • .Name プロパティで凡例表示もわかりやすく
  • 複数系列の整形は For Each ループが便利

コメント

タイトルとURLをコピーしました