回答編集履歴
2
コード修正
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
|
-
|
19
|
+
Select Case Target.Column
|
16
20
|
|
21
|
+
Case 1
|
22
|
+
|
17
|
-
|
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
コード修正
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
|
|