エクセル マクロで折れ線グラフや散布図 線の色や太さを指定
スポンサーリンク
折れ線グラフや散布図(ライン)の「線の色」と「線の幅」を指定するマクロを作りました。
エクセルは欧米人が作っているので、欧米人が「見やすい色使い」になっているようです。2007の色使いは、コントラストが弱く、系列の違いが分かりにくいので、ハイコントラストな色を指定するマクロを作りました。
目次リンク
内容
グラフを選択してからマクロを実行します。
プロットエリアは、灰色
系列1から順に
黒、赤、緑、青、黄色、紫、オレンジ、焦げ茶、の順になどなど『11色』を指定しています。
Excel2007で使用中です。
コードの内容は、
- グラフのプロットエリアの色を指定
- 系列の数をカウント
- 各系列の色を指定
- 色を指定したら「Exit Sub」で終了
- 「On Error Resume Next」でエラーがあったら強制的に次にすすむ
色は、
.ColorIndex = 46 と
.Color = RGB(102, 51, 0) の二種類で指定しています。
カラーインデックスだと良さそうな色が足りなかったので、RGBで指定しています。
ColorIndexは、【エクセル カラーインデックス】で検索して下さい。
RGBは、色指定 → その他の色 → ユーザー設定で調べられます。
’ を消せば、ラインの太さも指定できますので、変更して下さい。
・マクロで、グラフのタイトルと軸の名前を入力して効率化 - 種ヶ島
スポンサーリンク
グラフの線の色をまとめて変更するコード
Sub linecolor()
Dim sa As Long
Application.ScreenUpdating = False 'で画面を更新させないようにできます。
'色の変更
ActiveChart.PlotArea.Select 'プロットエリアを25%灰色
With Selection.Interior
.ColorIndex = 15
End With
sa = ActiveChart.SeriesCollection.count '系列数を取得
'ラインの太さを指定1
' With ActiveChart.SeriesCollection
' For i = 1 To .count
' .Item(i).Format.Line.Weight = 2.5
' Next i
' End With
'ラインの太さを指定2
' For i = 1 To sa
' ActiveChart.SeriesCollection(i).Select '系列を選択
' With Selection.Border
' .Weight = xlMedium '線の太さを指定
' End With
'Next
' xlHairline 細線(最も細い罫線)
' xlThin 極細
' xlMedium 普通
' xlThick 太線 (最も太い罫線)
'系列の色を指定
ActiveChart.SeriesCollection(1).Select '系列を選択 黒 1 赤3 緑4 青5
With Selection.Border
.ColorIndex = 1
End With
If sa = 1 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(2).Select '系列を選択 黒 1 赤3 緑4 青5
With Selection.Border
.ColorIndex = 3
End With
If sa = 2 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(3).Select '系列を選択 黒 1 赤3 明緑4 緑10 青5
With Selection.Border
.Color = RGB(0, 154, 0) 'RGB(255, 0, 0)
End With
If sa = 3 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(4).Select '系列を選択 黒 1 赤3 緑4 青5
With Selection.Border
.ColorIndex = 5
End With
If sa = 4 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(5).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.ColorIndex = 6
End With
If sa = 5 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(6).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.Color = RGB(112, 48, 160) '紫
End With
If sa = 6 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(7).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.ColorIndex = 46
End With
If sa = 7 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(8).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.Color = RGB(102, 51, 0) '焦げ茶
End With
If sa = 8 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(9).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.Color = RGB(0, 176, 240) '水色
End With
If sa = 9 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(10).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.Color = RGB(192, 0, 0) '
End With
If sa = 10 Then Exit Sub
On Error Resume Next
ActiveChart.SeriesCollection(11).Select '系列を選択 黒1 赤3 緑4 青5 黄色6 オレンジ46
With Selection.Border
.Color = RGB(255, 102, 153)
End With
If sa = 11 Then Exit Sub
End Sub
スポンサーリンク
グラフの線を太くしたり細くするコード
散布図の線を選択した状態でマクロを実行すれば、系列別(個別)に線を太くしたり細くできます。
Sub thick()
'2014-09-25
' グラフの線、目盛線、枠線を太くする
With Selection
.Format.Line.Weight = .Format.Line.Weight + 0.5
End With
End Sub
Sub thin()
With Selection
.Format.Line.Weight = .Format.Line.Weight - 0.5
End With
End Sub
スポンサーリンク
グラフの線の色を変更するコード
系列別(個別)に指定の色に変更できます。散布図グラフの線を選択した状態でマクロを実行します。
Sub lblack()
With Selection.Border
.ColorIndex = 1
End With
End Sub
Sub lgreen()
With Selection.Border
.Color = RGB(0, 154, 0)
End With
End Sub