2023/08/13

Notes - Excel 連携:#16)グラフの縦軸設定

今回は軸の表示設定についてです。

デフォルトでは次のような状態で、グラフとして美しくないですよね。まずは、縦軸を例に軸の整え方を確認しましょう。


軸の設定

マクロの記録を有効にして、縦軸を 500 ~ 2000、単位を 500 にセットしてみましょう。

記録されたマクロは、以下のようになります。コードを見ればそれぞれ何をセットしているのか一目瞭然ですよね。

   ActiveChart.Axes(xlValue).MinimumScale = 500
   ActiveChart.Axes(xlValue).MaximumScale = 2000
   ActiveChart.Axes(xlValue).MajorUnit = 500

ここでポイントとなるのが Chart オブジェクトの Axes メソッドです。このメソッドは軸のオブジェクトを返します。

Chart.Axes メソッド (Excel)

引数は2つあるのですが、通常使用するのは Type で、返す軸の種類を指定します。縦軸の場合は xlValue、横軸の場合は xlCategory を指定します。

これらは Excel であらかじめ定義された定数で、Excel VBA ではそのまま記述して利用できます。Lotus Script の場合は、別途定数として定義が必要です。定義するためには、その値を知る必要があります。こんな時にも役に立つのが、この Microsoft Learn です。

Microsoft Learn では、通常こういった定数をまとめたリンクがあります。今回でいうと XlAxisType という部分です。

これをクリックすると関連する定数の定義が表示されます。

XlAxisType 列挙 (Excel)

翻訳の問題だとは思うのですが、説明がわかりにくいですね。ただ、定数の値は明確になります。

今回のように必要な定数が出てきたら、Lotus Script にも定数として登録します。スクリプトライブラリにまとめて置くと再利用もしやすく便利ですね。


LotusScript の記述

今回の縦軸の設定を LotusScript で記述すると、以下のようになります。

   'Y 軸の設定
   oChart.Axes(xlValue).MinimumScale = 500
   oChart.Axes(xlValue).MaximumScale = 2000
   oChart.Axes(xlValue).MajorUnit = 500

Excel と同じ名称で定数定義しているので、Excel VBA に近い表現となり、わかりやすいですね。

実行すると以下のようになります。

前回 Notes - Excel 連携 次回

0 件のコメント:

コメントを投稿