グラフの正方格子化

863 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)