\ 最大8%ポイントアップ! /

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

スポンサーリンク
目次

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

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

この色を変更したい時、手動で系列を選択→書式設定を1つずつ変更すれば色を変えられます。

しかし毎回毎回、何個もあるグラフの色を設定しなおすのは面倒ですよね。
このマクロを使えば、セルの背景色に合わせて一括でグラフの色を変えることができます。

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

使い方

  1. こんな感じの表とグラフをつくります。
  2. グラフの色に使いたい色を、その系列の背景色に設定します。
  3. 色を設定したセルを選択したまま、マクロを実行します。

商品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自動マーカー
xlMarkerStyleCircle8円形のマーカー
xlMarkerStyleDash-4115長い棒のマーカー
xlMarkerStyleDiamond2ひし形のマーカー
xlMarkerStyleDot-4118短い棒のマーカー
xlMarkerStyleNone-4142マーカーなし
xlMarkerStylePicture-4147画像マーカー
xlMarkerStylePlus9正符号 (+) 付きの四角形のマーカー
xlMarkerStyleSquare1四角形のマーカー
xlMarkerStyleStar5アスタリスク (*) 付きの四角形のマーカー
xlMarkerStyleTriangle3三角形のマーカー
xlMarkerStyleX-4168X 印付きの四角形のマーカー
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次