質問編集履歴
7
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,23 +36,4 @@
|
|
36
36
|
CSVファイルは計7項目あり、CODE3とFLAG3は空白の可能性があります。
|
37
37
|
FLAG3は空白であればシートに出力しないまたはそのまま空白を出力する形式になります。
|
38
38
|
なお、1つのCSVファイル内ではCODE1-3を結合した結果は一意になっており重複することはありません。
|
39
|
-
また、CODE1-3は結合した場合、(数値の並びとして)昇順になるよう出力されています。
|
39
|
+
また、CODE1-3は結合した場合、(数値の並びとして)昇順になるよう出力されています。
|
40
|
-
|
41
|
-
①CSVファイル
|
42
|
-
CODE1,CODE2,CODE3,NAME,FLAG1,FLAG2,
|
43
|
-
2,1, ,山田1,1,1,
|
44
|
-
2,2, ,山田2,1,1,
|
45
|
-
2,1,2,山田24,1,1,
|
46
|
-
2,1,3,山田25,1,1,
|
47
|
-
2,1,4,山田26,1,1,
|
48
|
-
2,1,5,山田27,1,1,
|
49
|
-
2,1,6,山田28,1,1,
|
50
|
-
·
|
51
|
-
·
|
52
|
-
·
|
53
|
-
|
54
|
-
②シートAのイメージ
|
55
|
-

|
56
|
-
③シートBのイメージ
|
57
|
-
|
58
|
-

|
6
フォーマット変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,11 +36,12 @@
|
|
36
36
|
CSVファイルは計7項目あり、CODE3とFLAG3は空白の可能性があります。
|
37
37
|
FLAG3は空白であればシートに出力しないまたはそのまま空白を出力する形式になります。
|
38
38
|
なお、1つのCSVファイル内ではCODE1-3を結合した結果は一意になっており重複することはありません。
|
39
|
+
また、CODE1-3は結合した場合、(数値の並びとして)昇順になるよう出力されています。
|
39
40
|
|
40
41
|
①CSVファイル
|
41
42
|
CODE1,CODE2,CODE3,NAME,FLAG1,FLAG2,
|
42
43
|
2,1, ,山田1,1,1,
|
43
|
-
2,
|
44
|
+
2,2, ,山田2,1,1,
|
44
45
|
2,1,2,山田24,1,1,
|
45
46
|
2,1,3,山田25,1,1,
|
46
47
|
2,1,4,山田26,1,1,
|
5
書式体裁の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
VBAで以下のような処理を考えているのですが、処理を高速化できる方法を教えて頂きたいです。
|
2
2
|
|
3
|
-
|
3
|
+
1.CSVファイルのデータを読み込む(添付資料のような感じです)
|
4
4
|
|
5
5
|
--以下CSVファイルのCODE1-3を結合したコード順にループ
|
6
|
-
|
6
|
+
2.シートAにCSVファイルのCODE1-3を結合したコードが存在するかチェック
|
7
|
-
存在した場合は
|
7
|
+
存在した場合は4-aに遷移
|
8
|
-
|
8
|
+
3.シートAにCSVのデータを1行分出力
|
9
|
-
|
9
|
+
4.シートBに3で出力したデータを出力
|
10
10
|
|
11
11
|
a.シートAに同一CODEが存在し、シートAのNAMEが異なっていた場合
|
12
|
-
区分を”変更”にし、CODEと読込前のシートAのNAMEと読込後のNAMEを出力
|
12
|
+
区分を”変更”にし、CODEと読込前のシートAのNAMEと読込後のNAMEを出力
|
13
13
|
b.シートAに同一コードがなかった場合
|
14
|
-
区分を”新規”にし、CODEとNAMEを出力
|
14
|
+
区分を”新規”にし、CODEとNAMEを出力
|
15
15
|
|
16
16
|
という処理で、
|
17
|
-
|
17
|
+
1はFileSystemObjectオブジェクトを利用し、一旦仮のシートにCSVシートの全データを出力し
|
18
|
-
|
18
|
+
2と4-aにWorksheetFunction.Vlookupを利用
|
19
19
|
としたのですがその都度再計算が発生してしまうので
|
20
20
|
大量データだととても遅いです。(多分30分以上処理がかかっています)
|
21
21
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
そのため、上記処理で1万件前後のデータを処理した場合に
|
24
24
|
比較的処理が早く済む方法を教えて頂きたいです。
|
25
25
|
|
26
|
-
この場合、
|
26
|
+
この場合、1の段階でdictionaryオブジェクトによる仮想配列を利用した方が以降のチェック処理が早くなるのでしょうか。
|
27
27
|
|
28
28
|
(ただ、その場合 KEY =CODE1-3,VALUE = CSVの他項目となると思うのですが
|
29
29
|
その後VALUEを呼び出した場合、各項目ごとに分けてシートAやBにデータを入れる方法のイメージがついていません…)
|
4
添付資料の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,7 +38,18 @@
|
|
38
38
|
なお、1つのCSVファイル内ではCODE1-3を結合した結果は一意になっており重複することはありません。
|
39
39
|
|
40
40
|
①CSVファイル
|
41
|
-
|
41
|
+
CODE1,CODE2,CODE3,NAME,FLAG1,FLAG2,
|
42
|
+
2,1, ,山田1,1,1,
|
43
|
+
2,1, ,山田2,1,1,
|
44
|
+
2,1,2,山田24,1,1,
|
45
|
+
2,1,3,山田25,1,1,
|
46
|
+
2,1,4,山田26,1,1,
|
47
|
+
2,1,5,山田27,1,1,
|
48
|
+
2,1,6,山田28,1,1,
|
49
|
+
·
|
50
|
+
·
|
51
|
+
·
|
52
|
+
|
42
53
|
②シートAのイメージ
|
43
54
|

|
44
55
|
③シートBのイメージ
|
3
情報追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,6 +35,7 @@
|
|
35
35
|
---追記
|
36
36
|
CSVファイルは計7項目あり、CODE3とFLAG3は空白の可能性があります。
|
37
37
|
FLAG3は空白であればシートに出力しないまたはそのまま空白を出力する形式になります。
|
38
|
+
なお、1つのCSVファイル内ではCODE1-3を結合した結果は一意になっており重複することはありません。
|
38
39
|
|
39
40
|
①CSVファイル
|
40
41
|

|
2
画像差し替え
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,4 +42,4 @@
|
|
42
42
|

|
43
43
|
③シートBのイメージ
|
44
44
|
|
45
|
-

|
1
イメージ画像の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,5 +36,10 @@
|
|
36
36
|
CSVファイルは計7項目あり、CODE3とFLAG3は空白の可能性があります。
|
37
37
|
FLAG3は空白であればシートに出力しないまたはそのまま空白を出力する形式になります。
|
38
38
|
|
39
|
+
①CSVファイル
|
40
|
+

|
41
|
+
②シートAのイメージ
|
42
|
+

|
43
|
+
③シートBのイメージ
|
39
44
|
|
40
|
-

|