Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの軸を対数目盛に

VBAでグラフの軸を対数目盛に

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「vba グラフ 軸設定 log」
「excel chart 対数グラフ」
といった検索キーワードで時折アクセスがあることに気がつきました。

Excel VBAでグラフの数値軸を対数軸にするには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

AxisオブジェクトのScaleTypeプロパティで対数軸にするサンプルマクロ

値軸(縦軸)を対数目盛にしたいグラフを選択しておいてから、以下のExcelマクロを実行してください。

Sub 値軸を対数目盛に_Axis_ScaleTypeプロパティ()
 Dim ax As Axis
 Set ax = ActiveChart.Axes(xlValue)
 ax.ScaleType = xlScaleLogarithmic
End Sub

上記のとおり、軸を表すAxisオブジェクトに用意されているScaleTypeプロパティに、

AxisオブジェクトのScaleTypeプロパティ

XlScaleType列挙に定義されている定数xlScaleLogarithmicを設定すると、

xlScaleLogarithmic

対数軸になります。

ChartオブジェクトのSetElementメソッドで対数軸にするサンプルマクロ

以下のようなSubプロシージャでも、アクティブなグラフの値軸を対数目盛にできます。

Sub 値軸を対数目盛に_SetElementメソッド()
 ActiveChart.SetElement _
   msoElementPrimaryValueAxisLogScale
End Sub

Chartオブジェクトに用意されているSetElementメソッドの引数に、

ChartオブジェクトのSetElementメソッド

MsoChartElementType列挙に定義されている大量の定数の1つ、msoElementPrimaryValueAxisLogScaleを指定すると、

msoElementPrimaryValueAxisLogScale

定数名のとおり、値軸(PrimaryValueAxis)が、対数目盛(LogScale)になります。

グラフのオブジェクトモデルは結構複雑ですから、とりあえず対数軸にしたいという方は、ChartオブジェクトのSetElementメソッドを利用するほうが、簡単ではあります。

最終更新日時:2022-06-29 06:29

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの軸を対数目盛に

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.