対象: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
Dim ax As Axis
Set ax = ActiveChart.Axes(xlValue)
ax.ScaleType = xlScaleLogarithmic
End Sub
上記のとおり、軸を表すAxisオブジェクトに用意されているScaleTypeプロパティに、
XlScaleType列挙に定義されている定数xlScaleLogarithmicを設定すると、
対数軸になります。
ChartオブジェクトのSetElementメソッドで対数軸にするサンプルマクロ
以下のようなSubプロシージャでも、アクティブなグラフの値軸を対数目盛にできます。
Sub 値軸を対数目盛に_SetElementメソッド()
ActiveChart.SetElement _
msoElementPrimaryValueAxisLogScale
End Sub
ActiveChart.SetElement _
msoElementPrimaryValueAxisLogScale
End Sub
Chartオブジェクトに用意されているSetElementメソッドの引数に、
MsoChartElementType列挙に定義されている大量の定数の1つ、msoElementPrimaryValueAxisLogScaleを指定すると、
定数名のとおり、値軸(PrimaryValueAxis)が、対数目盛(LogScale)になります。
グラフのオブジェクトモデルは結構複雑ですから、とりあえず対数軸にしたいという方は、ChartオブジェクトのSetElementメソッドを利用するほうが、簡単ではあります。
最終更新日時:2022-06-29 06:29
[スポンサードリンク]
- Newer:オブジェクトブラウザの使い方が分かるようになったのが一番の収穫
- Older:Alt+F11の押し間違い
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの軸を対数目盛に