【Excel】折れ線グラフの色を選択したセルの背景色で一括指定するVBA

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

Excelで折れ線グラフの色をセル背景の色に設定するvba

Excelで折れ線グラフを作るとデフォルトの色が表示されます。

この色を変更したい時、手動で系列を選択→書式設定を1つずつ変更すれば色を変えられます。
毎回毎回、何個もあるグラフの色を設定しなおすのは面倒・・・という時、
このマクロを使えば、セルの背景色に合わせて一括でグラフの色を変えることができます。

グラフが複数ある場合でも、全て変更されます。

使い方

①こんな感じの表とグラフをつくります。

②グラフの色に使いたい色を、その系列の背景色に設定します。
色を設定したセルを選択したまま、マクロを実行します。

商品Aのセル背景色が紫なので、グラフの色、マーカーが紫に変更されました。
マーカーの形、線の種類、太さはカスタマイズできます。
記事後半を参考にしてください。

VBA

コピペして使ってください。

Sub グラフ色縦()

 Dim i As Long
 Dim j As Long
 Dim s As Long
 Dim Ro As Long
 Dim Co As Long
 Dim グラフ As ChartObject


Application.ScreenUpdating = False
For Each グラフ In ActiveSheet.ChartObjects

Ro = Selection.Row
Co = Selection.Column

j = グラフ.Chart.SeriesCollection.Count


  For i = 1 To j
      
       With グラフ.Chart.SeriesCollection(i)
        .Border.Color = Cells(Ro + i - 1, Co).Interior.Color  '線の色
        .Format.Line.Weight = 0.25                           '線の太さ
        .Format.Line.DashStyle = msoLineSolid            '線の種類
        .MarkerStyle = xlAutomatic                           'マークの種類
        .MarkerBackgroundColor = Cells(Ro + i - 1, Co).Interior.Color  'マークの色
        .MarkerForegroundColor = Cells(Ro + i - 1, Co).Interior.Color  'マークの枠線
        
       End With
      
   Next i 
   Next グラフ
 
Application.ScreenUpdating = True
   
   
End Sub

カスタマイズ

線の太さ

.Format.Line.Weight = 0.25
デフォルトは0.25です。値を大きくすると、線が太くなります。

線の種類

.Format.Line.DashStyle = msoLineSolid

msoLineの後を変更します。名前と線の種類は下の表のとおり。

マークの種類

.MarkerStyle = xlAutomatic

xl〇〇の部分をカスタマイズできます。

名前 説明
xlMarkerStyleAutomatic -4105 自動マーカー
xlMarkerStyleCircle 8 円形のマーカー
xlMarkerStyleDash -4115 長い棒のマーカー
xlMarkerStyleDiamond 2 ひし形のマーカー
xlMarkerStyleDot -4118 短い棒のマーカー
xlMarkerStyleNone -4142 マーカーなし
xlMarkerStylePicture -4147 画像マーカー
xlMarkerStylePlus 9 正符号 (+) 付きの四角形のマーカー
xlMarkerStyleSquare 1 四角形のマーカー
xlMarkerStyleStar 5 アスタリスク (*) 付きの四角形のマーカー
xlMarkerStyleTriangle 3 三角形のマーカー
xlMarkerStyleX -4168 X 印付きの四角形のマーカー