Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで項目軸を反転する

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

VBAで項目軸を反転する

「エクセル vba グラフ activechart 軸を反転」
という検索キーワードに気づきました。

手作業で行うと面倒な横棒グラフの項目軸反転をマクロで行うには、どのようなコードを書けばいいのか、探していらしたのでしょう。

[スポンサードリンク]

項目軸を反転するサンプルマクロ

以下のようなSubプロシージャで、アクティブな横棒グラフの項目軸を反転できます。

Sub アクティブグラフの軸を反転する()
 Dim cht As Chart
 Set cht = ActiveChart
 If cht Is Nothing Then
  MsgBox "グラフが選択されていません。"
  Exit Sub
 End If  Dim axs As Axis
 Set axs = cht.Axes(xlCategory)
 axs.ReversePlotOrder = True
 axs.Crosses = xlAxisCrossesMaximum
End Sub

厳密な意味で軸を反転しているのは、最後のほうにある、
  axs.ReversePlotOrder = True
の行です。

この行だけを実行すると、横軸が上に移動してしまいますので、つづく、
  axs.Crosses = xlAxisCrossesMaximum
の行で、[横軸との交点]を「最大項目」にしています。

ショートカットキー[F8]でステップ実行すると、軸の反転と、横軸の移動を目視確認できますので、是非やってみてください。

またローカルウィンドウで、オブジェクト変数axsの中身を確認することをおすすめします。

VBAで項目軸を反転する

言うまでもなく、まず注目していただきたいのは、Axis.ReversePlotOrderとAxis.Crossesです。

項目軸反転を戻すサンプルマクロ

上記の設定を解除したい場合は、最後の2行を以下のように変更してください。
 axs.ReversePlotOrder = False
 axs.Crosses = xlAxisCrossesAutomatic

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAで項目軸を反転する

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

検索


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