こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELグラフ縦軸の最大値について

最大値の異なる2種類の棒グラフを1シートの中で別々に表示している場合ですが、
最大値が小さいほうのグラフを、最大値が大きいほうに合わせて自動的に縦軸の目盛表示を変える方法があれば教えて頂けませんでしょうか。
グラフ1(縦軸最大値:100)、グラフ2(縦軸最大値:60)
  → グラフ2の縦軸最大値を自動的に100にする
    (必ずグラフ1の最大値の方が大きい値になります)
EXCEL2016を利用しています。
よろしくお願いします。

投稿日時 - 2019-04-03 10:46:04

QNo.9603233

困ってます

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

VBAでの方法なので質問者は経験なく、やる気もないかもしれないが、下記でできるようだよ。
出来ないというのには、待ったをかけたいから挙げる。
例データ
商品1月2月
A8856
B3433
C4751
D2148
E3525
F7849
G7333
A,B列データでグラフを描く。縦軸目盛スケールの最大値は100
A,C列データでグラフを描く。縦軸目盛スケールの最大値は60
となる。
ーー
標準モジュールに
Sub test01()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Dim cht1 As Chart
Set cht1 = ws.ChartObjects("Chart 1").Chart
cht1HasTitle = True 'グラフタイトルを表示
With cht1
m1 = .Axes(xlValue).MaximumScale '最大値を14000に設定
MsgBox m1
End With
Dim cht2 As Chart
Set cht2 = ws.ChartObjects("Chart 2").Chart
cht2.HasTitle = True 'グラフタイトルを表示
With cht2
m2 = .Axes(xlValue).MaximumScale
MsgBox m2
End With
If m1 > m2 Then
cht2.Axes(xlValue).MaximumScale = m1
Else
cht1.Axes(xlValue).MaximumScale = m2
End If
End Sub
を作成して実行。
実行すると両方100になった。
ーー
なおこのVBAのコードは、珍奇なものでなく、WEBの照会で得られた、ありふれたもの。
https://tonari-it.com/excel-vba-chart-axis/
を応用。

投稿日時 - 2019-04-14 21:28:02

お礼

丁寧に記述して頂き、ありがとうございました。

投稿日時 - 2019-04-19 02:17:21

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

最大値が大きいほうに合わせて自動的に縦軸の目盛表示を変える方法はありません。最大値が大きいほうに合わせて縦軸の目盛表示を変える方法は手動になります。

投稿日時 - 2019-04-03 12:51:15

お礼

やはり手動しかできないですかね。
ありがとうございました。

投稿日時 - 2019-04-03 13:03:32

あなたにオススメの質問