回答編集履歴

4

こちらかがいいかも

2020/07/22 08:03

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -29,3 +29,39 @@
29
29
 
30
30
 
31
31
  (処理高速化でOFFにする場合もありますが、特定のセルのイベントを制御する処理ではあまり意味がないようなきがします)
32
+
33
+
34
+
35
+ 下記のようなコードを実行前後に入れることはよくあります。
36
+
37
+
38
+
39
+ Sub マクロ開始()
40
+
41
+   Application.ScreenUpdating = False       '画面描画を停止
42
+
43
+   Application.EnableEvents = False        'イベントを抑止
44
+
45
+   Application.DisplayAlerts = False       '確認メッセージを抑止
46
+
47
+   Application.Calculation = xlCalculationManual '計算を手動に
48
+
49
+ End Sub
50
+
51
+
52
+
53
+
54
+
55
+ Sub マクロ終了()
56
+
57
+   Application.StatusBar = False          'ステータスバーを消す
58
+
59
+   Application.Calculation = xlCalculationAutomatic '計算を自動に
60
+
61
+   Application.DisplayAlerts = True        '確認メッセージを開始
62
+
63
+   Application.EnableEvents = True         'イベントを開始
64
+
65
+   Application.ScreenUpdating = True       '画面描画を開始
66
+
67
+ End Sub

3

こちらかがいいかも

2020/07/22 08:03

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -22,6 +22,10 @@
22
22
 
23
23
 
24
24
 
25
+ また、各イベントは、通常処理で影響しないようにTrueにして戻して終わるのがセオリーのような気がします。
26
+
27
+
28
+
25
29
 
26
30
 
27
31
  (処理高速化でOFFにする場合もありますが、特定のセルのイベントを制御する処理ではあまり意味がないようなきがします)

2

こちらかがいいかも

2020/07/22 07:54

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- その証拠にif elseでmsgboxを入れて判定しても反応しないためです。
13
+ その証拠にif elseでmsgbox(debug.printも反応しない)を入れて判定しても反応しないためです。
14
14
 
15
15
 
16
16
 

1

こちらかがいいかも

2020/07/22 07:53

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -19,3 +19,9 @@
19
19
 
20
20
 
21
21
  イベント自体をON・OFFする意味がわかりませんが・・。
22
+
23
+
24
+
25
+
26
+
27
+ (処理高速化でOFFにする場合もありますが、特定のセルのイベントを制御する処理ではあまり意味がないようなきがします)