• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelのグラフの目盛について2)

Excelのグラフの目盛について2

このQ&Aのポイント
  • Excelのグラフで目盛線を制限する方法について詳しく説明します。目盛間隔で線を引くことができるため、便利です。
  • Excelのセルに値をセットしておいて、それを自動で目盛間隔や目盛最大値、最小値の設定に使用する方法について説明します。
  • マクロを使用することで目盛間隔や目盛最大値、最小値のプロパティを設定することができますが、マクロの使用方法を知らない場合は他の方法を検討することをおすすめします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

>・・・それを自動で目盛間隔と目盛最大値、目盛最小値のプロパティに設定できる方法はありませんか? 下記マクロ(ChartMajorSet)を実行すると、  ・アクティブシートの全てのグラフの  ・最大値、最小値をExcelに再計算させる  ・指定した間隔数になるよう目盛間隔を設定 します。間隔を変えているのは数値軸のみです。 今回の(前回も)質問もそうですが、どのタイミングで目盛線の数を制限したいか、対象シートは特定されているか、シート上にグラフが何個あるかなどがよく分かりませんね。マクロでグラフや図形を扱うときは、その数(グラフや図形の個数)で書き方もかなりかわってきます。下記では、どのシートのグラフでも動くようにしたつもりです。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュールで標準モジュールを挿入し、そのコードウインドウに書きコードをコピーして貼り付けます。 ここから ↓ Sub ChartMajorSet()   Const Bunkatu = 5 'この間隔数に分割する   Dim cht As Integer 'ワークシート上のグラフ数のカウンタ   Dim jiku As Integer 'グラフの軸の数   Dim jCot As Integer '軸のカウンタ   With ActiveSheet     'アクティブにしているシートの全グラフを対象にする     For cht = 1 To .ChartObjects.Count       'グラフをアクティブにして、最大値、最小値をExcelに決めさせる       .ChartObjects(cht).Activate       jiku = .ChartObjects(cht).Chart.Axes.Count - 1       '数値軸の数だけ処理を行う       For jCot = 1 To jiku         With ActiveChart.Axes(xlValue, jCot)           .MinimumScaleIsAuto = True           .MaximumScaleIsAuto = True           .MajorUnitIsAuto = True         End With         '最大値、最小値を洗いがえた後、間隔を指定した幅にする         With ActiveChart           .Axes(xlValue, jCot).Select           With .Axes(xlValue, jCot)             .MajorUnit = (.MaximumScale - .MinimumScale) / Bunkatu           End With         End With       Next     Next   End With End Sub ↑ ここまで グラフのデータが変更になると、間隔数も更新されます。『ChartMajorSet』を使って、自動的に間隔数を一定に保つ事もできます。 Sheet1のグラフで、データ範囲が『A2:C14』の場合、下記コードをSheet1のコードウインドウに貼り付けます。 データが変更になる都度、『最大・最小値の更新→間隔を一定にする』処理を行います。 質問の意味と違っているかもしれませんが、参考にして下さい。 Private Sub Worksheet_Change(ByVal Target As Excel.Range)   If Not Intersect(Range("A2:C14"), Target) Is Nothing Then     ChartMajorSet   End If   Target.Offset(0, 0).Select End Sub

HUKAHIRE
質問者

お礼

 返事が遅れてしまって大変スミマセンでした。nishi6さんが答えてくださったもののEトコ取りで作らせて頂きました。こういう質問って質問を考えるのも一苦労ですね、、。自分の中でまとまってないから分からなくなってきちゃうんだな-と、つくづく感じました、、。

関連するQ&A

専門家に質問してみよう