回答編集履歴
2
データの追記、修正
answer
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
サンプルプログラムを動かした際に下記の操作を行うと二度判定が行われることを確認しました。
|
2
|
-
|
3
|
-
1.N10に塗りつぶしでvbRedにする。(判定無し)
|
4
|
-
2.N10セルを右クリックで削除する。(判定無し)
|
5
|
-
3.Ctrl+Zで巻き戻しを行う(二度判定が行われる)
|
6
|
-
|
7
|
-
|
1
|
+
上記サンプルコードを動作させた所、正常に1回のみ判定されておりif文などに問題はなさそうでした。
|
8
|
-
上記の操作を行った場合はWorksheet_Changeイベントが二度走っているので、関数でも何らかの形で反応していると思います。
|
9
2
|
Worksheet_Changeイベントは同Worksheet内で値が変更される(VBAプログラムを含む)度に走るのでその影響も考慮する必要がありそうです。
|
10
|
-
Application.EnableEvents = Falseで連鎖は止められますがどのタイミングでtrueに戻すかという問題もあ
|
3
|
+
Application.EnableEvents = Falseで連鎖は止められますがどのタイミングでtrueに戻すかという問題もあります。
|
4
|
+
Worksheet_Changeイベントが反応しているタイミングを調査して対処した方が良いかもしれません。
|
1
追記
answer
CHANGED
@@ -6,4 +6,5 @@
|
|
6
6
|
|
7
7
|
手動で値を変更した場合には正常に1回で判定されており、if文などに問題はなさそうでした。
|
8
8
|
上記の操作を行った場合はWorksheet_Changeイベントが二度走っているので、関数でも何らかの形で反応していると思います。
|
9
|
+
Worksheet_Changeイベントは同Worksheet内で値が変更される(VBAプログラムを含む)度に走るのでその影響も考慮する必要がありそうです。
|
9
|
-
Application.EnableEvents = Falseで連鎖は止められますがどのタイミングでtrueに戻すか
|
10
|
+
Application.EnableEvents = Falseで連鎖は止められますがどのタイミングでtrueに戻すかという問題もあるので私はすぐに答えられそうにありません。
|