回答編集履歴

2

コード修正

2020/06/18 13:15

投稿

hatena19
hatena19

スコア34347

test CHANGED
@@ -6,23 +6,37 @@
6
6
 
7
7
 
8
8
 
9
+ > 実際のコードはもっと列があり、それぞれの列に色々な条件で動く処理が書かれている
10
+
11
+
12
+
9
13
  ```vba
10
14
 
11
15
  Private Sub Worksheet_Change(ByVal Target As Range)
12
16
 
13
- If Target.Cells.Count = 1 Then '単一セルの更新
17
+ If Target.Cells.Count = 1 Then '単一セルの更新
14
18
 
15
- If Not Intersect(Target, Range("A:A,B:B")) Is Nothing Then '更新セルはA列またはB列
19
+ Select Case Target.Column
16
20
 
21
+ Case 1
22
+
17
- Msgbox "更新された値:" & Target.Value
23
+ MsgBox "更新された列:" & Target.Column & " 更新値:" & Target.Value
18
24
 
19
25
 
20
26
 
21
- '実行したい処理
27
+ Case 2
22
28
 
23
-
29
+ MsgBox "更新された列:" & Target.Column & " 更新値:" & Target.Value
24
30
 
31
+
32
+
33
+ Case 3
34
+
35
+ MsgBox "更新された列:" & Target.Column & " 更新値:" & Target.Value
36
+
37
+
38
+
25
- End If
39
+ End If
26
40
 
27
41
  End If
28
42
 

1

コード修正

2020/06/18 13:15

投稿

hatena19
hatena19

スコア34347

test CHANGED
@@ -10,13 +10,19 @@
10
10
 
11
11
  Private Sub Worksheet_Change(ByVal Target As Range)
12
12
 
13
- If Target.Cells.Count = 1 Then
13
+ If Target.Cells.Count = 1 Then '単一セルのみ更新
14
+
15
+ If Not Intersect(Target, Range("A:A,B:B")) Is Nothing Then '更新セルはA列またはB列
16
+
17
+ Msgbox "更新された値:" & Target.Value
14
18
 
15
19
 
16
20
 
17
- '実行したい処理
21
+ '実行したい処理
18
22
 
23
+
19
24
 
25
+ End If
20
26
 
21
27
  End If
22
28