VBAから見たEXCELの散布図

 EXCEL のグラフはオブジェクトの関係が分かりにくい.特に散布図はよく使うものであるだけに,それを把握しておくことが必要である.

散布図をコードから生成

 下記のコードはワークシートに埋め込みグラフを作成し,大きさを 400 x 400 とし,マーカーなし散布図に変更している.

各要素を選択したコード

 さらに下記コードでは作成した散布図の各要素をクリックしてたどったマクロ記録を編集したものである.凡例の各系列と目盛線の図がないが勘弁してほしい.

Worksheet.ChartObjects().Chart でグラフの要素を取得

 7 行目にあるように, Worksheet の直下に ChartObjects() があり,その直下に Chart がある.これはお作法なので覚えるしかない.

プロットエリアは .PlotArea

 プロットエリアは .PlotArea で取得する.このオブジェクトにもプロパティやメソッドはある.

プロットエリアは.PltAreaで取得
プロットエリアは.PlotAreaで取得

Y 軸は .Axes(xlValue)

 Y 軸は .Axes(xlValue) で取得する.軸そのものと文字に関わるオブジェクトが下に続く.

Y軸は.Axes(xlValue)で取得
Y軸は.Axes(xlValue)で取得

X 軸は .Axes(xlCategory)

 X 軸は .Axes(xlCategory) で取得する.軸そのものと文字に関わるオブジェクトが下に続く.

X軸は.Axes(xlXValue)で取得
X軸は.Axes(xlXCategory)で取得

凡例は .Legend

 凡例は .Legend で取得する.塗りつぶしや外枠,文字に関するオブジェクトが下に続く.

凡例は.Legendで取得
凡例は.Legendで取得

 凡例の 1 番目の系列は .Legend.LegendEntries(1), 2 番目の系列は .Legend.LegendEntries(2) で取得する.() 内の数字はインデックスである.

1 番目の系列は .FullSeriesCollection(1)

 1 番目の系列は .FullSeriesCollection(1) で取得する.() 内の数字はインデックスである.

1番目の系列は.FullSeriesCollection(1)で取得
1番目の系列は.FullSeriesCollection(1)で取得

1 番目の系列の 3 番目の点は .FullSeriesCollection(1).Points(3)

 1 番目の系列の 3 番目の点は .FullSeriesCollection(1).Points(3) で取得する.() 内の数字はインデックスである.

1 番目の系列の 3 番目の点は .FullSeriesCollection(1).Points(3) で取得
1 番目の系列の 3 番目の点は .FullSeriesCollection(1).Points(3) で取得

2 番目の系列は .FullSeriesCollection(2)

 2 番目の系列は .FullSeriesCollection(2) で取得する.() 内の数字はインデックスである.

2 番目の系列は .FullSeriesCollection(2) で取得
2 番目の系列は .FullSeriesCollection(2) で取得

2 番目の系列の 1 番目の点は  .FullSeriesCollection(2).Points(1)

 2 番目の系列の 1 番目の点は  .FullSeriesCollection(2).Points(1) で取得する.() 内の数字はインデックスである.

2 番目の系列の 1 番目の点は  .FullSeriesCollection(2).Points(1) で取得
2 番目の系列の 1 番目の点は  .FullSeriesCollection(2).Points(1) で取得

3 Replies to “VBAから見たEXCELの散布図”

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください