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

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

「vba グラフ 軸設定 log」
「excel chart 対数グラフ」
といった検索キーワードでのアクセスに気づきました。

[スポンサードリンク]

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

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

値軸(縦軸)を対数目盛にしたいグラフを選択しておいてから、以下のSubプロシージャを実行してください。


Sub 値軸を対数目盛に_Axis_ScaleTypeプロパティ()
 Dim cht As Chart
 Set cht = ActiveChart

 Dim axs As Axis
 Set axs = cht.Axes(xlValue)
 axs.ScaleType = xlScaleLogarithmic
End Sub

上記のとおり、AxisオブジェクトのScaleTypeプロパティに、

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

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

xlScaleLogarithmic

対数軸になります。

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

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


Sub 値軸を対数目盛に_SetElementメソッド()
 Dim cht As Chart
 Set cht = ActiveChart
 cht.SetElement _
   msoElementPrimaryValueAxisLogScale
End Sub

上記のとりChartオブジェクトのSetElementメソッドの引数に、

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

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

msoElementPrimaryValueAxisLogScale

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

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

[スポンサードリンク]

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

TrackBack:0

TrackBack URL
[スポンサードリンク]

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

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

検索


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

.