質問編集履歴
2
A1~D10000 → A2~A10000 に修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
エクセルVBAで、ワークシートws.allの
|
3
|
+
エクセルVBAで、ワークシートws.allのA2~A10000の値が、
|
4
|
-
ワークシートws.listの
|
4
|
+
ワークシートws.listのA2~A1000にない新規の値であった場合、ワークシートws.allのB列に「新」と入力するマクロを作りたい
|
5
5
|
|
6
6
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
1
コードの挿入で記入しました。リストの表現が不明確でしたので、質問を書き直しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
+
エクセルVBAで、ワークシートws.allのA4~D10000の値が、
|
3
|
-
|
4
|
+
ワークシートws.listのA1~1000にない新規の値であった場合、ワークシートws.allのB列に「新」と入力するマクロを作りたい
|
4
5
|
|
6
|
+
|
5
7
|
### 発生している問題・エラーメッセージ
|
6
8
|
|
7
9
|
リストにある場合、「すでに有り」と入力するマクロは作ることができたが、ない場合「新」とすることに苦労している
|
8
10
|
|
9
11
|
### 該当のソースコード
|
12
|
+
```
|
13
|
+
For i = 2 To 10000
|
14
|
+
For j = 2 To 1000
|
10
15
|
|
11
|
-
|
16
|
+
If ws_all.Cells(i, 1).Value = ws_list.Cells(j, 1).Value Then
|
12
17
|
|
13
|
-
|
18
|
+
ws_all.Cells(i, 2) = "すでに有り"
|
14
19
|
|
15
|
-
If ws_all.Cells(i, 4).Value = ws_internal.Cells(j, 1).Value Then
|
16
|
-
|
17
|
-
ws_all.Cells(i, 22) = "すでに有り"
|
18
|
-
|
19
20
|
Exit For
|
20
21
|
|
21
22
|
Else
|
@@ -28,6 +29,8 @@
|
|
28
29
|
|
29
30
|
Next i
|
30
31
|
|
32
|
+
```
|
33
|
+
|
31
34
|
### 試したこと
|
32
35
|
|
33
36
|
リストが数十万行であり、ほとんどがリストBにあるためExit for でループを抜けることで
|