グラフの正方格子化

446 views

 

Excelでグラフ化した際、縦横のマス目を正方形にしてXYの比を1:1にしたいケースがあります。

目分量では限界があるため、この作業を自動化するマクロ(VBAソースコード)を紹介します。
前提条件として、XY各軸の最小~最大の範囲(スケール)が同じであることが必要です。
例えば右図ではX軸のフルスケールが12でY軸も12にしてあります。

このマクロではグラフエリア(一番外側のグラフ領域で、ExcelではChartと呼びます)が横長か縦長かで処理を分けます。
横長の場合はプロットエリア(グラフそのものの領域)の高さがグラフエリアの高さに合うように(右図上2つ)、また縦長の場合はプロットエリアの幅がグラフエリアの幅に合うように(右図下2つ)調整されます。

調整時にグラフエリア境界からどれだけのマージンをとるかはVBAのソースコード内の下記の設定で変更できます。
デフォルトではマージン比率は0(グラフエリアを最大限使う)です。

<VBAソースコードの一部>

 ‘ マージン比率(0≦k<1)
k = 0

 

 

<参考URL>

https://okwave.jp/qa/q9661127.html

 


2022.5.4 更新 (revA→revB)