質問編集履歴
2
コードの挿入を追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,60 +1,4 @@
|
|
1
|
-
以前、質問した内容で、編集の必要が出てきました。
|
2
|
-
|
3
|
-
要件に応じて修正しているのですが、うまくいかない部分があり※☆箇所、ご教授頂けないでしょうか。
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
```ここに言語を入力
|
8
|
-
|
9
|
-
リストBの品番をリストAの品番の下から検索しヒットした行をコピーして(つまり最新行)、リストAの最終行に貼りつける。このとき、貼りつけ先行の登録日はリストBセルB2の登録日(固定)に書き換え、貼りつけ先の区分がBであればAに更新する。
|
10
|
-
|
11
|
-
☆上記に追加で、もしB列の品番でヒットしない場合は、C列の品番2で検索をかける。
|
12
|
-
|
13
|
-
この場合、貼付け先の登録日は何もしない。それ以外はB列品番で検索した時と同じ作業をする。
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
リストA
|
18
|
-
|
19
|
-
商品名/品番/登録日/区分
|
20
|
-
|
21
|
-
aaa/001/yyyymmdd/A
|
22
|
-
|
23
|
-
iii/002/yyyymmdd/A
|
24
|
-
|
25
|
-
uuu/003/yyyymmdd/C
|
26
|
-
|
27
|
-
iii/002/yyyymmdd/A
|
28
|
-
|
29
|
-
aaa/001/yyyymmdd/B
|
30
|
-
|
31
|
-
uuu/003/yyyymmdd/A
|
32
|
-
|
33
|
-
・
|
34
|
-
|
35
|
-
・
|
36
|
-
|
37
|
-
aaa/001/yyyymmdd/B
|
38
|
-
|
39
|
-
リストB
|
40
|
-
|
41
|
-
商品名/品番/品番2/登録日
|
42
|
-
|
43
|
-
aaa/001/100/yyyymmdd
|
44
|
-
|
45
|
-
iii/002/200/yyyymmdd
|
46
|
-
|
47
|
-
uuu/003/300/yyyymmdd
|
48
|
-
|
49
|
-
・
|
50
|
-
|
51
|
-
・
|
52
|
-
|
53
|
-
・
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
試したこと
|
58
2
|
|
59
3
|
Sub Test()
|
60
4
|
|
@@ -138,7 +82,59 @@
|
|
138
82
|
|
139
83
|
End Sub
|
140
84
|
|
85
|
+
```以前、質問した内容で、編集の必要が出てきました。
|
141
86
|
|
87
|
+
要件に応じて修正しているのですが、うまくいかない部分があり※☆箇所、ご教授頂けないでしょうか。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
下記リストがあります。
|
92
|
+
|
93
|
+
リストBの品番をリストAの品番の下から検索しヒットした行をコピーして(つまり最新行)、リストAの最終行に貼りつける。このとき、貼りつけ先行の登録日はリストBセルB2の登録日(固定)に書き換え、貼りつけ先の区分がBであればAに更新する。
|
94
|
+
|
95
|
+
☆上記に追加で、もしB列の品番でヒットしない場合は、C列の品番2で検索をかける。
|
96
|
+
|
97
|
+
この場合、貼付け先の登録日は何もしない。それ以外はB列品番で検索した時と同じ作業をする。
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
リストA
|
102
|
+
|
103
|
+
商品名/品番/登録日/区分
|
104
|
+
|
105
|
+
aaa/001/yyyymmdd/A
|
106
|
+
|
107
|
+
iii/002/yyyymmdd/A
|
108
|
+
|
109
|
+
uuu/003/yyyymmdd/C
|
110
|
+
|
111
|
+
iii/002/yyyymmdd/A
|
112
|
+
|
113
|
+
aaa/001/yyyymmdd/B
|
114
|
+
|
115
|
+
uuu/003/yyyymmdd/A
|
116
|
+
|
117
|
+
・
|
118
|
+
|
119
|
+
・
|
120
|
+
|
121
|
+
aaa/001/yyyymmdd/B
|
122
|
+
|
123
|
+
リストB
|
124
|
+
|
125
|
+
商品名/品番/品番2/登録日
|
126
|
+
|
127
|
+
aaa/001/100/yyyymmdd
|
128
|
+
|
129
|
+
iii/002/200/yyyymmdd
|
130
|
+
|
131
|
+
uuu/003/300/yyyymmdd
|
132
|
+
|
133
|
+
・
|
134
|
+
|
135
|
+
・
|
136
|
+
|
137
|
+
・
|
142
138
|
|
143
139
|
|
144
140
|
|
1
コメント追加とデバックで1行ずつ動かしうまくいかない箇所を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -80,11 +80,15 @@
|
|
80
80
|
|
81
81
|
For i = 2 To ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row
|
82
82
|
|
83
|
-
For j = UBound(List, 1) To 2 Step -1
|
83
|
+
For j = UBound(List, 1) To 2 Step -1 ’リストの下から探すため(一番新しいデータ)
|
84
84
|
|
85
85
|
|
86
86
|
|
87
|
+
’リストBの品番で検索し、ヒットしたら
|
88
|
+
|
87
89
|
If ws2.Cells(i, 2).Value = List(j, 2) Then
|
90
|
+
|
91
|
+
’ヒットした行をコピぺ※ここで、一番新しいデータだけでなく、過去分までコピペされている
|
88
92
|
|
89
93
|
ws1.Rows(j).Copy Destination:=ws1.Rows(cnt)
|
90
94
|
|
@@ -104,7 +108,11 @@
|
|
104
108
|
|
105
109
|
'☆箇所の条件を追加してみました
|
106
110
|
|
111
|
+
’リストBの品番がヒットしなければ、リストBの品番2で検索
|
112
|
+
|
107
113
|
ElseIf ws2.Cells(i, 3).Value = List(j, 2) Then
|
114
|
+
|
115
|
+
’ヒットした行をコピペ
|
108
116
|
|
109
117
|
ws1.Rows(j).Copy Destination:=ws1.Rows(cnt)
|
110
118
|
|