Excelの積み上げ縦棒グラフのY/数値軸目盛りのプロパティ(最大値や目盛り感覚)をVBAから変更したいので、プロパティまたはメソッドを教えてください。

また、Y/数値軸に表示される値を任意のものにする方法があったら教えてください。通常はY/数値軸目盛りのプロパティの最大値を元にふられるようですが、これとは関係なく0,1,2・・・のように振りたいと考えています。

回答の条件
  • 1人3回まで
  • 登録:2006/10/24 11:25:21
  • 終了:2006/10/24 15:16:03

ベストアンサー

id:bonlife No.1

回答回数421ベストアンサー獲得回数752006/10/24 12:01:07

ポイント60pt

アクティブシートの"グラフ 1"に対して処理をする例です。

目盛の設定をハンドで行う場合、"軸の書式設定"で自動のチェックを外し、数値を入力すれば良いです。

今回の例では、最大値、目盛間隔の設定を行っています。

マクロの記録で生成されたものにコメントをつけましたので、確認してみてください。

(マクロの記録をベースに改変すると楽ですよ。)

Sub Macro1()
    ActiveSheet.ChartObjects("グラフ 1").Activate
    With ActiveChart.Axes(xlValue)
        .MinimumScaleIsAuto = True ' 最小値は自動
        .MaximumScale = 500        ' 最大値は500
        .MinorUnitIsAuto = True    ' 補助目盛間隔は自動
        .MajorUnit = 10            ' 目盛間隔は10
        .Crosses = xlAutomatic     ' X軸との交点は自動
        .ReversePlotOrder = False  ' 軸の反転はしない
        .ScaleType = xlLinear      ' 対数目盛を表示する場合は xlLogarithmic
        .DisplayUnit = xlNone      ' 表示単位は設定なし
    End With
End Sub

設定項目の中で、IsAutoがついているものに関しては、IsAutoを削除した設定項目に数値を代入することで、値を設定することができます。

例えば、最小値の設定も行いたいのであれば、

        .MinimumScale = 100        ' 最小値は100

としてください。

(実際にはデフォルトの設定と変更させたい部分だけをVBAで記述すれば良いです。)

参考になれば幸いです。

  • id:fslasht
    回答ありがとうございます。
    教えていただいた方法でうまいきました。
    マクロで記録してソースをみるというのはいろいろ応用ききそうですね。

    # Y/数値軸に表示される値については、なくてもよいという仕様にしてもらいました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません