- ベストアンサー
ある条件でマクロの実行?
エクセルの素人です。 あるセルの値がクエリをつかって一定間隔で自動更新されているのですが、その値がある条件を満たしたときに(たとえば10以上になったら)マクロを実行させることは出来るんでしょうか? もしくは、そのセルの値が更新されるたびにマクロを実行させることは可能でしょうか? よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
セルに値を直接入力したときだったら Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Worksheet_Change = " & Target.Address & " , " & Target.Value End Sub でセル位置と値を取得できますが、 今回やりたいのは参照先の値が変わったことを検知したいのですよね。 Private Sub Worksheet_Calculate() MsgBox "Worksheet_Calculate" End Sub これで検知できると思いますので、この中に 『目的のセルの値が条件を満たしていたら処理を実行』 というコードを書いたらいけるのではないでしょうか。 頑張ってくださいヽ(^。^)ノ
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
>あるセル >そのセルの これらは一定の番地(セル)ですか。 プログラムの中に番地を$C$1などと書きこんで良いタイプの問題ですか。であれば Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address=$C$1 then If Target>10 then Macro1 'マクロ実行 End If End If End Sub でどうですか。 番地を聞くとき、上記例の$C$1は$付きで、半角大文字に注意。 ただChangeイベントはクセがありますので注意。 同一の値入力は反応しない。複数セル入力の問題とか。
お礼
お礼が大変遅くなって申し訳ありません。 なにしろ素人なものでひとつひとつ確認しながらの作業なので時間がかかってしまいました。ご回答の内容で確認できました。ありがとうございました。 またよろしくお願いします。
お礼
お礼が大変遅くなって申し訳ありません。 上記の内容で要求どおりの動きをしてくれました。 素人相手にいつもありがとうございます。 またよろしくお願いします。