
こんにちは エクセル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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELでグラフを作るとき、縦軸...
-
エクセルのグラフ作成で軸を等...
-
Excel:別シートにグラフを貼り...
-
エクセルで折れ線と散布図を同...
-
Excelグラフの有効数字の統一が...
-
エクセルで式からグラフを作成...
-
エクセルの縦軸(Y軸)が不均等...
-
Excelでx軸とy軸を設定して図を...
-
エクセルで作ったグラフの右側...
-
エクセルのグラフの1点の色を変...
-
データの追加を簡単に出来ますか?
-
Excelで未知数を含む式をグラフ...
-
エクセルでセルの数値を画像や...
-
エクセルの円を5等分する方法
-
AccessからEXCELのグラフの操作...
-
エクセル・グラフのプロットエ...
-
9つのエクセルのグラフ(円グ...
-
ExcelでIF関数によるグラフの表...
-
エクセルで、極座表のグラフ描...
-
ExcelのグラフをPowerPointに貼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフ作成で軸を等...
-
EXCELでグラフを作るとき、縦軸...
-
Excel:別シートにグラフを貼り...
-
エクセルの縦軸(Y軸)が不均等...
-
エクセルで折れ線と散布図を同...
-
Excelでx軸とy軸を設定して図を...
-
エクセルで折れ線グラフ(散布...
-
エクセル グラフはあるけれど...
-
エクセルの対数グラフのエラー
-
エクセルで作ったグラフの右側...
-
散布図を縦に2個並べて出力したい
-
エクセルで、極座表のグラフ描...
-
エクセル グラフの”データーテ...
-
エクセルの円を5等分する方法
-
ワードの差し込みにて、値をグ...
-
エクセルグラフの項目名を折り...
-
エクセル 0や空白のセルをグラ...
-
ExcelのグラフをPowerPointに貼...
-
Excelマクロ・グラフエリア・プ...
-
エクセルの円グラフをグラフエ...
おすすめ情報