
こんにちは エクセル365を使っています。
以下の様なコードを教えて頂き、グラフの最大値最小値をセル参照にしてみたのですが、動作しないようです。
どこが悪いのか解る方、教えて頂けませんか?
また、質問なのですが、このコードはシートモジュールに記述して良いのでしょうか?
また、このマクロの実行のタイミングはいつなのでしょうか?
マクロの表示のタブを開いてもマクロ名が書いてないようです。
よろしくお願い致します。
Private Sub Worksheet_Change(ByVal Target As Range)
’ MAXとMINが逆の場合は処理させない
If Worksheets("sheet1").Range("E3").Value > Worksheets("sheet1").Range("E2").Value Then
' Y軸の最大値と最小値を変更
Worksheets("sheet1").ChartObjects("グラフ 1").Chart.Axes(xlValue).MaximumScale = Range("E3").Value
Worksheets("sheet1").ChartObjects("グラフ 1").Chart.Axes(xlValue).MinimumScale = Range("E2").Value
End If
End Sub

No.1ベストアンサー
- 回答日時:
こんにちは
>このコードはシートモジュールに記述して良いのでしょうか?
はい、対象グラフのあるシートモジュールに書きます。
>このマクロの実行のタイミングはいつなのでしょうか?
少し問題かもしれませんが、コードを書いたシートの
すべてセルが変更yされた時に実行されます。
>マクロの表示のタブを開いてもマクロ名が書いてないようです。
引数を持つプロシージャはマクロの表示のタブから実行できません。
>グラフの最大値最小値をセル参照にしてみたのですが、動作しないようです。
これに付いては、確かめていませんが、シートイベントなので
Worksheets("sheet1").部分を省いてみてはいかがでしょう?
下記に示します。
また、ご質問のコードはすべてのセル変更時に
If Worksheets("sheet1").Range("E3").Value > Worksheets("sheet1").Range("E2").Value Then が実行され、条件に一致すればそのあとも実行されます。
なので、実行トリガーを絞った方が良いでしょう。
E2 E3セルが変更された時のように、、、
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2:E3")) Is Nothing Then
' MAXとMINが逆の場合は処理させない
If Range("E3").Value > Range("E2").Value Then
' Y軸の最大値と最小値を変更
ChartObjects("グラフ 1").Chart.Axes(xlValue).MaximumScale = Range("E3").Value
ChartObjects("グラフ 1").Chart.Axes(xlValue).MinimumScale = Range("E2").Value
End If
End If
End Sub
対象のグラフの名前が グラフ 1 であることも確認が必要です。
回答頂き、ありがとうございました!
既に大量のデータが常時更新されており、ボタンクリックで動作させる事にしました!
ありがとうございました!
No.2
- 回答日時:
ご質問コピペで回答しましたけれど
実行部分 ChartObjects("グラフ 1").Chart.Axes(xlValue) は
Withでまとめた方がよろしいかもです。
With ChartObjects("グラフ 1").Chart.Axes(xlValue)
.MaximumScale = Range("E3").Value
.MinimumScale = Range("E2").Value
End With
ありがとうございます!
BA選んだあとに質問に気づきました、Qchan様のおかげで気持ちよく作業する事が出来ます。
いつも教えて下さり、感謝致します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
エクセルの縦軸(Y軸)が不均等...
-
EXCELでグラフを作るとき、縦軸...
-
エクセルで折れ線グラフ(散布...
-
Excel:別シートにグラフを貼り...
-
エクセルで作ったグラフの右側...
-
Excelでx軸とy軸を設定して図を...
-
ExcelでIF関数によるグラフの表...
-
散布図を縦に2個並べて出力したい
-
エクセル グラフの”データーテ...
-
Excelで折れ線グラフ 原点をど...
-
エクセルで折れ線と散布図を同...
-
エクセル グラフはあるけれど...
-
エクセルグラフからセルを特定...
-
ExcelのグラフをPowerPointに貼...
-
エクセルの対数グラフのエラー
-
Excelマクロ・グラフエリア・プ...
-
Wordにグラフ用紙のマス目と軸...
-
対数目盛を使用時のグラフについて
-
Excel:補助付円グラフがどうし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
Excel:別シートにグラフを貼り...
-
EXCELでグラフを作るとき、縦軸...
-
エクセルの縦軸(Y軸)が不均等...
-
Excelでx軸とy軸を設定して図を...
-
エクセルで折れ線グラフ(散布...
-
散布図を縦に2個並べて出力したい
-
エクセルで、極座表のグラフ描...
-
Excelグラフの有効数字の統一が...
-
エクセルで作ったグラフの右側...
-
エクセルの対数グラフのエラー
-
エクセルで折れ線と散布図を同...
-
エクセルの円を5等分する方法
-
エクセル グラフはあるけれど...
-
ExcelでIF関数によるグラフの表...
-
ExcelのグラフをPowerPointに貼...
-
対数目盛を使用時のグラフについて
-
エクセルのグラフの1点の色を変...
-
エクセル グラフの”データーテ...
-
2019エクセル折れ線グラフで、Y...
おすすめ情報