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