グラフの正方格子化

2,576

 

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

 目分量では限界があるため、この作業を自動化するマクロ(VBAソースコード)を紹介します。

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

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

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

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

 

 

 

<参考URL>

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

 


グラフの正方格子化マクロ

 上記紹介のマクロの、ソースファイル(.bas)です。
 Excelのマクロファイル(.xlsm)にインポートして使用して下さい。

 書式:graph_square()
 使い方:ワークシート上のグラフを選択した状態で、「開発」ー[コードグループ]ー「マクロ」からこの関数を実行します。

 プロットエリアは、グラフエリアが横長の場合は高さに、縦長の場合は幅に合わせて正方格子化されます。
 縦・横軸のスケール(最大/最小値設定)に対応して、自動調整します(revC以降)。

 


2024.6.11 更新 (revB→revC)

DL解除コード:a701