どうも!そこらへんの社会人です!!
今回は散布図を複数作成してみたいと思います!
私は、現在社会人6年やっていますが、仕事で大量のデータを扱うときにグラフ化して視覚的に分かりやすくする
ということをよくやりますが、データをいちいち選択するのって面倒ですよね・・・・
ということでは今回は、散布図を複数つくるマクロを作成してみました!!
実際に作成したマクロを実行すると下記のようにグラフをすぐに作成することができます!!
STEP①:散布図を作成してみる(1つのみ)
まずは、STEP①として散布図を一つ作成してみます。
下記のものは、「マクロの記録」ででてきたんものです。
マクロの記録がわからない方はこちらをご参考ください。(この中でマクロの記録を説明しています)
【Excel マクロ初心者】エクセルのグラフの色を一括で変更してみた!
Option Explicit
Sub 折れ線グラフ()
ActiveChart.SeriesCollection.NewSeries
活動中のグラフで新しい系列を作成する
ActiveChart.SeriesCollection(1).Name = “=Sheet1!$E$18”
「シート1」の「E18」「=」を「系列1」の名前にする
ActiveChart.SeriesCollection(1).XValues = “=Sheet1!$F$19:$P$19”
「シート1」の「F19:P19」「=」を「系列1」の「X値」にする
ActiveChart.SeriesCollection(1).Values = “=Sheet1!$F$20:$P$20”
「シート1」の「F20:P20」「=」を「系列1」の「y値」にする
End Sub
STEP②:散布図を作成してみる(2つ)
散布図を2つ作成しようとした場合、関数を使っていきます。
そのときのポイントととして下記のように文字列+関数+文字列を使うことです。

Option Explicit
Sub 折れ線グラフ()
Dim i
定数iを宣言
For i = 1 To 2
iを1から2を繰り返す
ActiveChart.SeriesCollection.NewSeries
活動中のグラフで新しい系列を作成する
ActiveChart.SeriesCollection(i).Name = “=Sheet” & i & “!$E$18”
「Sheet」+「i」の「E18」を「系列」+「i」の名前にする
ActiveChart.SeriesCollection(i).XValues = “=Sheet” & i & “!$F$19:$P$19”
「Sheet」+「i」の「E19:P19」を「系列」+「i」の「x値」にする
ActiveChart.SeriesCollection(i).Values = “=Sheet” & i & “!$F$20:$P$20”
「Sheet」+「i」の「E20:P20」を「系列」+「i」の「y値」にする
Next
End Sub
実際に動かしたものがこちらになります。
STEP③:散布図を作成してみる(2つ + シート名に左右されない)
STEP②までのやり方だとシート名に左右されてしまうので、シート名に関係なくてもできる方法を紹介していきます。
Option Explicit
Sub 折れ線グラフ()
Dim i
定数iを宣言
For i = 1 To 2
iを1から2を繰り返す
ActiveChart.SeriesCollection.NewSeries
活動中のグラフで新しい系列を作成する
ActiveChart.SeriesCollection(i).Name = “=” & Worksheets(i).Name & “!$E$18”
「Sheet i番目」の「E18」を「系列」+「i」の名前にする
ActiveChart.SeriesCollection(i).XValues = “=” & Worksheets(i).Name & “!$F$19:$P$19”
「Sheet i番目」の「E19:P19」を「系列」+「i」の「x値」にする
ActiveChart.SeriesCollection(i).Values = “=” & Worksheets(i).Name & “!$F$20:$P$20”
「Sheet i番目」の「E20:E20」を「系列」+「i」の「y値」にする
Next
End Sub
STEP④:作成されたグラフの書式を整える
作成されるグラフの書式を整えていきましょう!!
作成されたグラフをひとつひとつ書式を整えていくのは面倒ですからね・・・
今回は作成されたグラフ線を「赤」、マーカーの「なし」という設定でやっていきたいと思います!
Option Explicit
Sub 折れ線グラフ()
Dim i
定数iを宣言
For i = 1 To 8
iを1から8を繰り返す
ActiveChart.SeriesCollection.NewSeries
活動中のグラフで新しい系列を作成する
ActiveChart.SeriesCollection(i).Name = “=” & Worksheets(i).Name & “!$E$18”
「Sheet i番目」の「E18」を「系列」+「i」の名前にする
ActiveChart.SeriesCollection(i).XValues = “=” & Worksheets(i).Name & “!$F$19:$P$19”
「Sheet i番目」の「E19:P19」を「系列」+「i」の「x値」にする
ActiveChart.SeriesCollection(i).Values = “=” & Worksheets(i).Name & “!$F$20:$P$20”
「Sheet i番目」の「E20:E20」を「系列」+「i」の「y値」にする
ActiveChart.SeriesCollection(i).Select
活動中のグラフの「系列i」を選択
With Selection.Format.Line
選択された線の形式は
.Visible = msoTrue
凡例を塗りつぶします
.ForeColor.RGB = RGB(255, 0, 0)
色を赤(RGB(255 , 0 ,))にします
End With
Selection.MarkerStyle = -4142
選択されたマーカーは「なし」です
Next
End Sub
いかが、だったでしょうか?
これで繰り返し数が多ければ、たくさんのグラフをすぐに作ることができます!!
少しでも業務改善の参考にしてみてください!!
コメント