質問編集履歴

2

コードの挿入を追加しました。

2020/04/27 14:28

投稿

退会済みユーザー
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行ずつ動かしうまくいかない箇所を追記

2020/04/27 14:28

投稿

退会済みユーザー
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