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 印付きの四角形のマーカー |