回答編集履歴
3
コード修正
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
```vba
|
28
28
|
Private Sub Worksheet_Change(ByVal Target As Range)
|
29
29
|
'参照先 A列からZ列まで(26列)
|
30
|
-
Const datalist = ",'C:\
|
30
|
+
Const datalist = ",'C:\test[tera330470_list.xlsx]Sheet1'!$A:$Z"
|
31
31
|
Const colCnt = 26
|
32
32
|
'targetがA列でさらにデータ型が数値だった時
|
33
33
|
If (VarType(Target.Value) = 5 And Target.Column = 1) Then
|
2
コード追記
answer
CHANGED
@@ -19,4 +19,25 @@
|
|
19
19
|
End If
|
20
20
|
|
21
21
|
End Sub
|
22
|
+
```
|
23
|
+
|
24
|
+
---
|
25
|
+
項目数が多いときはループにするといいでしょう。
|
26
|
+
|
27
|
+
```vba
|
28
|
+
Private Sub Worksheet_Change(ByVal Target As Range)
|
29
|
+
'参照先 A列からZ列まで(26列)
|
30
|
+
Const datalist = ",'C:\Users\博幸\Documents[tera330470_list.xlsx]Sheet1'!$A:$Z"
|
31
|
+
Const colCnt = 26
|
32
|
+
'targetがA列でさらにデータ型が数値だった時
|
33
|
+
If (VarType(Target.Value) = 5 And Target.Column = 1) Then
|
34
|
+
Dim i As Long
|
35
|
+
For i = 2 To colCnt
|
36
|
+
With Target.Offset(, i - 1)
|
37
|
+
.Formula = "=VLOOKUP(" & Target.Address & datalist & "," & i & ",FALSE)"
|
38
|
+
.Value = .Value
|
39
|
+
End With
|
40
|
+
Next
|
41
|
+
End If
|
42
|
+
End Sub
|
22
43
|
```
|
1
コード修正
answer
CHANGED
@@ -10,7 +10,6 @@
|
|
10
10
|
|
11
11
|
With Target.Offset(, 1)
|
12
12
|
.Formula = "=VLOOKUP(" & Target.Address & datalist & ",2,FALSE)"
|
13
|
-
Debug.Print .Value
|
14
13
|
.Value = .Value
|
15
14
|
End With
|
16
15
|
With Target.Offset(, 2)
|