質問するログイン新規登録

質問編集履歴

7

2019/01/22 10:58

投稿

退会済みユーザー
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
- ![イメージ説明](d067352cdb48c0260e97845b2bb27ed2.png)
56
- ③シートBのイメージ
57
-
58
- ![イメージ説明](f281d97b065de2043ef857e4fa4a74f7.png)

6

フォーマット変更

2019/01/22 10:58

投稿

退会済みユーザー
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,1, ,山田2,1,1, 
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

書式体裁の修正

2019/01/19 06:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,21 +1,21 @@
1
1
  VBAで以下のような処理を考えているのですが、処理を高速化できる方法を教えて頂きたいです。
2
2
 
3
- CSVファイルのデータを読み込む(添付資料のような感じです)
3
+ 1.CSVファイルのデータを読み込む(添付資料のような感じです)
4
4
 
5
5
  --以下CSVファイルのCODE1-3を結合したコード順にループ
6
- シートAにCSVファイルのCODE1-3を結合したコードが存在するかチェック
6
+ 2.シートAにCSVファイルのCODE1-3を結合したコードが存在するかチェック
7
- 存在した場合は-aに遷移
7
+ 存在した場合は4-aに遷移
8
- シートAにCSVのデータを1行分出力
8
+ 3.シートAにCSVのデータを1行分出力
9
- シートBに、③で出力したデータを出力
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
- はFileSystemObjectオブジェクトを利用し、一旦仮のシートにCSVシートの全データを出力し
17
+ 1はFileSystemObjectオブジェクトを利用し、一旦仮のシートにCSVシートの全データを出力し
18
- -aにWorksheetFunction.Vlookupを利用
18
+ 24-aにWorksheetFunction.Vlookupを利用
19
19
  としたのですがその都度再計算が発生してしまうので
20
20
  大量データだととても遅いです。(多分30分以上処理がかかっています)
21
21
 
@@ -23,7 +23,7 @@
23
23
  そのため、上記処理で1万件前後のデータを処理した場合に
24
24
  比較的処理が早く済む方法を教えて頂きたいです。
25
25
 
26
- この場合、の段階でdictionaryオブジェクトによる仮想配列を利用した方が以降のチェック処理が早くなるのでしょうか。
26
+ この場合、1の段階でdictionaryオブジェクトによる仮想配列を利用した方が以降のチェック処理が早くなるのでしょうか。
27
27
 
28
28
  (ただ、その場合 KEY =CODE1-3,VALUE = CSVの他項目となると思うのですが
29
29
  その後VALUEを呼び出した場合、各項目ごとに分けてシートAやBにデータを入れる方法のイメージがついていません…)

4

添付資料の追加

2019/01/19 06:18

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -38,7 +38,18 @@
38
38
  なお、1つのCSVファイル内ではCODE1-3を結合した結果は一意になっており重複することはありません。
39
39
 
40
40
  ①CSVファイル
41
- ![イメージ説明](d5e354c2a348b0e007c9e6e03cbab15a.png)
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
  ![イメージ説明](d067352cdb48c0260e97845b2bb27ed2.png)
44
55
  ③シートBのイメージ

3

情報追記

2019/01/19 06:12

投稿

退会済みユーザー
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
  ![イメージ説明](d5e354c2a348b0e007c9e6e03cbab15a.png)

2

画像差し替え

2019/01/19 03:52

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,4 @@
42
42
  ![イメージ説明](d067352cdb48c0260e97845b2bb27ed2.png)
43
43
  ③シートBのイメージ
44
44
 
45
- ![イメージ説明](d9b44ece9b21c21522b1962be0b9adcd.png)
45
+ ![イメージ説明](f281d97b065de2043ef857e4fa4a74f7.png)

1

イメージ画像の追加

2019/01/19 03:50

投稿

退会済みユーザー
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
+ ![イメージ説明](d5e354c2a348b0e007c9e6e03cbab15a.png)
41
+ ②シートAのイメージ
42
+ ![イメージ説明](d067352cdb48c0260e97845b2bb27ed2.png)
43
+ ③シートBのイメージ
39
44
 
40
- ![イメージ説明](d5e354c2a348b0e007c9e6e03cbab15a.png)①CSVファイルのデータを読み込む(添付資料のような感じです)
45
+ ![イメージ説明](d9b44ece9b21c21522b1962be0b9adcd.png)