• ベストアンサー

ある条件でマクロの実行?

エクセルの素人です。 あるセルの値がクエリをつかって一定間隔で自動更新されているのですが、その値がある条件を満たしたときに(たとえば10以上になったら)マクロを実行させることは出来るんでしょうか? もしくは、そのセルの値が更新されるたびにマクロを実行させることは可能でしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

セルに値を直接入力したときだったら 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 これで検知できると思いますので、この中に 『目的のセルの値が条件を満たしていたら処理を実行』 というコードを書いたらいけるのではないでしょうか。 頑張ってくださいヽ(^。^)ノ

punba99
質問者

お礼

お礼が大変遅くなって申し訳ありません。 上記の内容で要求どおりの動きをしてくれました。 素人相手にいつもありがとうございます。 またよろしくお願いします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

>あるセル >そのセルの これらは一定の番地(セル)ですか。 プログラムの中に番地を$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イベントはクセがありますので注意。 同一の値入力は反応しない。複数セル入力の問題とか。

punba99
質問者

お礼

お礼が大変遅くなって申し訳ありません。 なにしろ素人なものでひとつひとつ確認しながらの作業なので時間がかかってしまいました。ご回答の内容で確認できました。ありがとうございました。 またよろしくお願いします。

関連するQ&A

  • マクロの自動実行などについて

    エクセル2003のVBAマクロについて質問です あるワークシートに値が入力されたら、マクロを自動実行するように出来ないでしょうか? 又、そのセルの値を別のセルにコピーしたいのですが、データを入力する度にセルの場所が ひとつ下へずれます。この最終列のセルの値を必ず拾うようにするにはどうすればよいでしょうか? ややこしくてすいません

  • Excel一定時間ごとに上書保存するマクロ

    エクセルで、一定時間ごと(例えば5分に一回)に上書き保存を行うマクロを組みたいとおもっております。 エクセルの1セルに、上書き保存を行うと、最終保存時間を表示できるように設定しているのですが、 自動バックアップ等でなく、一定間隔で自動で「上書き保存」を行えるマクロを組みたいと思っています。 使い方としては、該当のエクセルをスタートアップにいれ、自動起動させる。⇒エクセルが開いたら自動でマクロ起動 ⇒ 自動で上書き保存マクロが実行され、最終保存日時が更新される。という流れとしたいです。 どなたか、お教え願えませんでしょうか。 よろしくお願い致します。

  • セルの値が●ならば▲のマクロを自動で実行

    エクセルで、セルの値が●ならば▲のマクロを自動で実行するということはできるのでしょうか? セルの値が●月(TODAY関数)なら、自動的に置換をするように設定したいのです。

  • EXCELで”+100"を実行するマクロ

    EXCELで、マクロを実行するたびに、そのセルに入っている数に100プラスされるマクロを作りたいのです。 意味がよく分からないかもしれませんが、 例えば、あるセルに"100"という数値が入っていて、 1回実行すれば100+100で"200"に、もう1度実行すると、200+100で"300"に。…という感じです。 私的に考えたのは、 別のセルに"そのセル+100"をする式を書き込み、 コピー&元のセルに値貼り付けをし、 式の入った別のセルをDELする… というのをマクロにしてみたのですが、 イマイチうまくないというか… よい方法があったら、アドバイスください。

  • マクロについて。

    エクセルのマクロを使ってwebページを一定間隔で自動更新したいのですがどうやったらできるのでしょうか?

  • 【EXCEL】セルの値の変化をトリガーにしてマクロを自動実行したい

    お世話になります。困っておりまして、もしよろしければ、ご助言いただけませんでしょうか? 【質問】 EXCELでVBA等を使って下記のことは実行可能でしょうか? (下記の1~3の方法はわかっていますが、知りたいのは4の部分です。) 0.(前提として)エクセルはOpenされた状態。 1.特定のセルの値は外部参照で一定時間毎に変化している。 2.そのセルの値を使って別のセルで数式計算 3.計算結果がIF条件に合致するかどうか判断 4.3の条件に合致したら、自動で登録済みのマクロ を実行する。 (なお、ExcelのXPでできれば望ましいですが、それ以外のバージョンでできるようでしたら、それでもかまいません。) よろしくお願いいたします。

  • EXCL のマクロ自動実行(イベントによる)についてお教えください。

    EXCL のマクロ自動実行(イベントによる)についてお教えください。 エクセルのあるセル(たとえばA1セル)に入力するとマクロが自動実行する方法をお教えください。 よろしくお願いいたします。

  • エクセル マクロの実行について

    セルに「ある条件」を満たしたら登録したマクロが実行されるようにしたいのですが可能でしょうか? 「ある条件」→たとえばIF関数の結果が真だったら すみません、エクセル初心者なのでどなたか教えて下さい。

  • エクセルでセルの値が変更されたらマクロを実行

    エクセルで、セルの値が変更されたらマクロを実行したいと考えています。 具体的には、A1のセルに何か値が入力されるか、変更されたら、 作成したマクロを実行したいと考えています。 どうしたらいいのでしょうか。 ご教授ください。 よろしくお願いします。

  • マクロの実行について

    エクセルで料金計算をする、セル1Aに開始時刻を入力しセル1Bに終了時刻を入力するとセル1Cに料金が出力されるというマクロファイルを作りました。 現状1Aと1Bを入力しマクロ実行のスイッチを押して1Cを出力する、というやり方をしているのですが、スイッチを押す手間を省くために、1Aを入力しておいて1Bを入力したらスイッチを押さなくても自動的に1Cが出力されるようにしたいと考えています。 そのような設定をすることはできますか? ご回答よろしくお願い致します。

専門家に質問してみよう