
No.1ベストアンサー
- 回答日時:
>例えば range("A1","C5") だけの範囲に発生するイベントを利用し
>他の領域で発生する信号は無視したいのです。
完全に無視する事は厳しいような気がします。
妥協できればの話ですが、
監視対象シートがSheet1だとします。
それと別のシート、Sheet2のセルに
=Sheet1!A1
=Sheet1!C5
と監視対象セルへの参照数式を入れて、
このSheet2のシートモジュールにCalculateイベントを記述するわけです。
これでSheet1のA1,C5セルの数式が再計算された時のイベントが捉えられるかと思います。
ただ、Sheet1の関係ない行列の削除もしくは挿入した時もA1,C5セルは再計算されます。
使う関数によっても再計算が発生する事があります。
計算結果に変化がなくても、A1,C5セルの再計算イベントを捉える事ができるわけですから
それはそれでいいのかもしれませんが。
また、別シートからSheet1を参照しているので、Sheet1の名前を変更した時や、オートフィルタ操作時など、
Sheet1の再計算は発生しなくても、Sheet2の再計算が発生し、Calculateイベントが走る事があります。
(他にもあるかもしれません。あまり深く検証してないです)
もし、再計算発生、かつ計算結果が変化している事をトリガーにしたいという事なら
Calculateイベントの内容を工夫すれば可能と思います。
Static変数やセル値に計算結果を記憶させて、次回イベント時に比較して差異があれば処理する...など。
他サイト過去ログですが参考になるかもしれません。
『calclcuiate を セル ごとでイベント発生させるには』
http://park7.wakwak.com/~efc21/cgi-bin/exqaloung …
早速のご回答ありがとうございます。
別のsheetに乗り換えてイベントを監視する方法には
気がつきませんでした。
クリーンな回答恐れ入ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
”戻り値”が変化したときに、マクロを実行したい
Visual Basic(VBA)
-
Private Sub Worksheet_Calculate()のことでお聞きします
Excel(エクセル)
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
-
4
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
5
VBA Private Sub Worksheet_Calculate()
Access(アクセス)
-
6
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
7
セルの値が変ると自動でマクロが実行される。
その他(Microsoft Office)
-
8
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
9
エクセル Worksheet_Calculate
Visual Basic(VBA)
-
10
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
13
エクセルVBAのChangeイベント時の再計算
Visual Basic(VBA)
-
14
【Excel VBA】セルの値が変更されたらマクロを実行
その他(Microsoft Office)
-
15
【EXCEL】セルの値の変化をトリガーにしてマクロを自動実行したい
Excel(エクセル)
-
16
EXCELでセルの値が変化したときだけにマクロ実行
Excel(エクセル)
-
17
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
18
VBA チェンジイベント 別シートにデータ転記
その他(Microsoft Office)
-
19
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
20
【VBA】シート上の複数のチェックボックスのうちどれか一つでも変更した場合のイベント
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AかBに入力があった時Cに反映、...
-
エクセルの使い方 1日=7時間45...
-
ヘッダー
-
EXCELの関数に関する質問です
-
IF関数で、時間を条件にしたい...
-
Excel 関数? 文字列に...
-
数式の計算結果により表示され...
-
エクセルでの時間計算(2時間30...
-
IF関数で出した数値をSUM関数で...
-
Excelの文字入力にタイムラグが...
-
エクセルで、時間の計算をした...
-
エクセル 1万時間を越える際の...
-
計算結果が「0」のセルだけを「...
-
エクセルで足し算と掛算を混ぜ...
-
sum 範囲を横に可変したいです...
-
エクセル・計算式をテキストデ...
-
【エクセル】あるセルのみ自動...
-
エクセルでDeleteキーを...
-
エクセルで同じ計算式を入れて...
-
エクセル 月数を0.5ヶ月単位で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AかBに入力があった時Cに反映、...
-
ヘッダー
-
数式の計算結果により表示され...
-
Excel 関数? 文字列に...
-
エクセルの使い方 1日=7時間45...
-
エクセルで、時間の計算をした...
-
エクセル 1万時間を越える際の...
-
IF関数で、時間を条件にしたい...
-
EXCELの関数に関する質問です
-
エクセル・計算式をテキストデ...
-
Excelの文字入力にタイムラグが...
-
エクセルでDeleteキーを...
-
IF関数で出した数値をSUM関数で...
-
エクセルでの時間計算(2時間30...
-
TEXTCALCの使い方
-
エクセル 月数を0.5ヶ月単位で...
-
エクセルで数値を50単位で切...
-
【エクセル】あるセルのみ自動...
-
Excelの計算式内の文字列の一括...
-
Excel(エクセル)でフィルター...
おすすめ情報