[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『グラフのX・Y軸を自動で調整したい』(あこ)
2つの散布図が存在するシートがあります。データ数は2つです。
一つ目のグラフはXとY軸を自動で調整したいです。X軸は0〜1の範囲、Yは0〜5の範囲なのですが、まれに数値が1を超えてしまうことがあり、現在軸の書式設定で毎回最大値を変更しているのですが、この作業を自動でおこないたいのです。
数値を入力するセルは、データ1▲(データの表示の種類)、Y軸 L64、X軸 O64
データ2● Y軸 L65 X軸 O65 です。
このセルの値が変更したら一つ目のグラフ軸が変更されてほしいのです。
またもうひとつグラフがあり、これについてはX軸のみ最大値を変更 X軸 ▲S64 ●S65
マクロ初心者でして実行の方法も理解しておりません。
手順を最初から教えていただければ幸いです。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
1)グラフがあるシートの「シート見出し」を右クリック 2)「コードの表示」を選択 3)下記のマクロをコピペ (★グラフ名は修正が必要です) 4)Alt+Q
これでデータが変わると軸の最大値が自動で変化すると思います
Private Sub Worksheet_Change(ByVal Target As Range) Dim cht1 As Chart, cht2 As Chart Dim cht1X As Range, cht1Y As Range Dim cht2X As Range
Set cht1 = ChartObjects("グラフ 1").Chart '★実際のグラフ名に修正 Set cht1X = Range("O64:O65") Set cht1Y = Range("L64:L65")
Set cht2 = ChartObjects("グラフ 2").Chart '★実際のグラフ名に修正 Set cht2X = Range("S64:S65")
If Not Intersect(Target, cht1X) Is Nothing Then If WorksheetFunction.Max(cht1X) > 1 Then cht1.Axes(xlCategory).MaximumScaleIsAuto = True Else cht1.Axes(xlCategory).MaximumScale = 1 End If End If
If Not Intersect(Target, cht1Y) Is Nothing Then If WorksheetFunction.Max(cht1Y) > 5 Then cht1.Axes(xlValue).MaximumScaleIsAuto = True Else cht1.Axes(xlValue).MaximumScale = 5 End If End If
If Not Intersect(Target, cht2X) Is Nothing Then If WorksheetFunction.Max(cht2X) > 1 Then cht2.Axes(xlCategory).MaximumScaleIsAuto = True Else cht2.Axes(xlCategory).MaximumScale = 1 End If End If
End Sub
(マナ) 2016/02/15(月) 20:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.