質問編集履歴
3
削除された内容の復元を行いました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
生成したtxtファイルのデータを1000行ずつ1000回ループして処理したいです
|
test
CHANGED
@@ -1 +1,101 @@
|
|
1
|
+
Excelファイルの中は以下の3つのシートがあります。
|
2
|
+
|
3
|
+
シート名:txtデータ ・・・txtファイルのデータを100万行コピーペーストしたもの
|
4
|
+
|
5
|
+
シート名:判定 ・・・txtファイルのデータを計算し並び替えるもの
|
6
|
+
|
7
|
+
シート名:判定後データ ・・・判定シートで並び替えたデータをコピーペーストする
|
8
|
+
|
9
|
+
以下はそれぞれのシートの詳細と、マクロの詳細になります。
|
10
|
+
|
11
|
+
■シート名:txtデータ
|
12
|
+
|
13
|
+
||A|B|C|D|E|F|G|
|
14
|
+
|
15
|
+
|:--|:--:|--:|
|
16
|
+
|
17
|
+
|1|101|203|204|205|206|
|
18
|
+
|
19
|
+
|2|101|203|204|205|207|
|
20
|
+
|
21
|
+
|3|101|203|204|205|208|
|
22
|
+
|
23
|
+
|4|101|203|204|205|209|
|
24
|
+
|
25
|
+
|~~|~~|~~|~~|~~|~~|~~|~~|
|
26
|
+
|
27
|
+
|999999|134|219|221|222|223|
|
28
|
+
|
29
|
+
|1000000|134|220|221|222|223|
|
30
|
+
|
1
|
-
|
31
|
+
行5~行999998までは同様の内容が続き、省略してあります。
|
32
|
+
|
33
|
+
列Fと列Gは空欄になっています。txtファイルの中には列Fと列Gに値が入っているものも例外的にあります。
|
34
|
+
|
35
|
+
■シート名:判定
|
36
|
+
|
37
|
+
||A|B|C|D|E|F|G|H|・・・|AOO|AOP|
|
38
|
+
|
39
|
+
|:--|:--:|--:|
|
40
|
+
|
41
|
+
|1|
|
42
|
+
|
43
|
+
|2|
|
44
|
+
|
45
|
+
|3||||
|
46
|
+
|
47
|
+
|4|101|203|204|205|206|||数式|・・・|数式|1|
|
48
|
+
|
49
|
+
|5|101|203|204|205|207|||数式|・・・|数式|1|
|
50
|
+
|
51
|
+
|6|101|203|204|205|208|||数式|・・・|数式|1|
|
52
|
+
|
53
|
+
|~~|~~|~~|~~|~~|~~|~~|~~|~~|・・・|~~|~~|
|
54
|
+
|
55
|
+
|999|101|203|213|216|223|||数式|・・・|数式|1|
|
56
|
+
|
57
|
+
|1000|101|203|213|217|218|||数式|・・・|数式|1|
|
58
|
+
|
59
|
+
列I~列AONまでは数式が記述されており、省略してあります。
|
60
|
+
|
61
|
+
行7~行998までは同様の内容が続き、省略してあります。
|
62
|
+
|
63
|
+
列AOPは列A~列Gに入力されたデータをもとに、列H~列AOOで計算を行い、0か1で判定を行うものです。
|
64
|
+
|
65
|
+
■シート名:判定後データ
|
66
|
+
|
67
|
+
このシートは空の状態です。
|
68
|
+
|
69
|
+
■マクロの内容
|
70
|
+
|
71
|
+
|順番|シート名|処理内容|
|
72
|
+
|
73
|
+
|:--|:--:|--:|
|
74
|
+
|
75
|
+
|1|txtデータ|A1~G1000までをコピーする
|
76
|
+
|
77
|
+
|2|判定|A4を選択、コピーしたデータをペーストする
|
78
|
+
|
79
|
+
|3|判定|A4~AOP1003 までを選択する
|
80
|
+
|
81
|
+
|4|判定|並び替え AOP昇順、A昇順、B昇順、C昇順、D昇順、E昇順、F昇順、G昇順
|
82
|
+
|
83
|
+
|5|判定|AOP列の値が1の行のA~G列をコピーする
|
84
|
+
|
85
|
+
|||分岐:AOPの値が1の行がないときは処理7へスキップする
|
86
|
+
|
87
|
+
|6|判定後データ|A1を選択し、コピーしたデータをペーストする(ループ1回目以降は初回のデータの下の行に貼り付け)
|
88
|
+
|
89
|
+
|7|txtデータ|A1~G1000までを削除する(上方向へシフト)
|
90
|
+
|
91
|
+
|8||1に戻る(1000回ループ)
|
92
|
+
|
93
|
+
|9||処理を終了する
|
94
|
+
|
95
|
+
処理量が多くてマクロが動かない場合も想定されます。また、逆に処理量を多くしたほうが効率が良い場合もあります。
|
96
|
+
|
97
|
+
順番1でコピーする行数を増減させてループ数を調整するなど、変更が容易なようにコメントを入れていただけると助かります。
|
98
|
+
|
99
|
+
なお、txtファイルのファイル数は26個あり、行数は合計で約9060万あります。
|
100
|
+
|
101
|
+
データが多すぎると動作が重くなることが想定されますので、100万行ずつシートにコピーする方法をとります。
|
2
変更点を記述する。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
タイトルタイトルタイトル
|
test
CHANGED
@@ -1,125 +1 @@
|
|
1
|
-
Excelファイルの中は以下の3つのシートがあります。
|
2
|
-
|
3
|
-
シート名:txtデータ ・・・txtファイルのデータを100万行コピーペーストしたもの
|
4
|
-
|
5
|
-
シート名:判定 ・・・txtファイルのデータを計算し並び替えるもの
|
6
|
-
|
7
|
-
シート名:判定後データ ・・・判定シートで並び替えたデータをコピーペーストする
|
8
|
-
|
9
|
-
以下はそれぞれのシートの詳細と、マクロの詳細になります。
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
■シート名:txtデータ
|
16
|
-
|
17
|
-
||A|B|C|D|E|F|G|
|
18
|
-
|
19
|
-
|:--|:--:|--:|
|
20
|
-
|
21
|
-
|1|101|203|204|205|206|
|
22
|
-
|
23
|
-
|2|101|203|204|205|207|
|
24
|
-
|
25
|
-
|3|101|203|204|205|208|
|
26
|
-
|
27
|
-
|4|101|203|204|205|209|
|
28
|
-
|
29
|
-
|~~|~~|~~|~~|~~|~~|~~|~~|
|
30
|
-
|
31
|
-
|999999|134|219|221|222|223|
|
32
|
-
|
33
|
-
|1000000|134|220|221|222|223|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
本文をここに記述する。本文をここに記述する。本文をここに記述する。
|
38
|
-
|
39
|
-
列Fと列Gは空欄になっています。txtファイルの中には列Fと列Gに値が入っているものも例外的にあります。
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
■シート名:判定
|
46
|
-
|
47
|
-
||A|B|C|D|E|F|G|H|・・・|AOO|AOP|
|
48
|
-
|
49
|
-
|:--|:--:|--:|
|
50
|
-
|
51
|
-
|1|
|
52
|
-
|
53
|
-
|2|
|
54
|
-
|
55
|
-
|3||||
|
56
|
-
|
57
|
-
|4|101|203|204|205|206|||数式|・・・|数式|1|
|
58
|
-
|
59
|
-
|5|101|203|204|205|207|||数式|・・・|数式|1|
|
60
|
-
|
61
|
-
|6|101|203|204|205|208|||数式|・・・|数式|1|
|
62
|
-
|
63
|
-
|~~|~~|~~|~~|~~|~~|~~|~~|~~|・・・|~~|~~|
|
64
|
-
|
65
|
-
|999|101|203|213|216|223|||数式|・・・|数式|1|
|
66
|
-
|
67
|
-
|1000|101|203|213|217|218|||数式|・・・|数式|1|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
列I~列AONまでは数式が記述されており、省略してあります。
|
72
|
-
|
73
|
-
行7~行998までは同様の内容が続き、省略してあります。
|
74
|
-
|
75
|
-
列AOPは列A~列Gに入力されたデータをもとに、列H~列AOOで計算を行い、0か1で判定を行うものです。
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
■シート名:判定後データ
|
82
|
-
|
83
|
-
このシートは空の状態です。
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
■マクロの内容
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|順番|シート名|処理内容|
|
94
|
-
|
95
|
-
|:--|:--:|--:|
|
96
|
-
|
97
|
-
|1|txtデータ|A1~G1000までをコピーする
|
98
|
-
|
99
|
-
|2|判定|A4を選択、コピーしたデータをペーストする
|
100
|
-
|
101
|
-
|3|判定|A4~AOP1003 までを選択する
|
102
|
-
|
103
|
-
|4|判定|並び替え AOP昇順、A昇順、B昇順、C昇順、D昇順、E昇順、F昇順、G昇順
|
104
|
-
|
105
|
-
|5|判定|AOP列の値が1の行のA~G列をコピーする
|
106
|
-
|
107
|
-
|||分岐:AOPの値が1の行がないときは処理7へスキップする
|
108
|
-
|
109
|
-
|6|判定後データ|A1を選択し、コピーしたデータをペーストする(ループ1回目以降は初回のデータの下の行に貼り付け)
|
110
|
-
|
111
|
-
|7|txtデータ|A1~G1000までを削除する(上方向へシフト)
|
112
|
-
|
113
|
-
|8||1に戻る(1000回ループ)
|
114
|
-
|
115
|
-
|9||処理を終了する
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
処理量が多くてマクロが動かない場合も想定されます。また、逆に処理量を多くしたほうが効率が良い場合もあります。
|
120
|
-
|
121
|
-
順番1でコピーする行数を増減させてループ数を調整するなど、変更が容易なようにコメントを入れていただけると助かります。
|
122
|
-
|
123
|
-
なお、txtファイルのファイル数は26個あり、行数は合計で約9060万あります。
|
124
|
-
|
125
|
-
データが多すぎると動作が重くなることが想定されますので、100万行ずつシートにコピーする方法をとります。
|
1
ご指摘のあった部分について修正・加筆しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
生成したtxtファイルのデータを1000行ずつ1000回ループして処理す
|
1
|
+
生成したtxtファイルのデータを1000行ずつ1000回ループして処理したいです
|
test
CHANGED
@@ -1,3 +1,47 @@
|
|
1
|
+
Excelファイルの中は以下の3つのシートがあります。
|
2
|
+
|
3
|
+
シート名:txtデータ ・・・txtファイルのデータを100万行コピーペーストしたもの
|
4
|
+
|
5
|
+
シート名:判定 ・・・txtファイルのデータを計算し並び替えるもの
|
6
|
+
|
7
|
+
シート名:判定後データ ・・・判定シートで並び替えたデータをコピーペーストする
|
8
|
+
|
9
|
+
以下はそれぞれのシートの詳細と、マクロの詳細になります。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
■シート名:txtデータ
|
16
|
+
|
17
|
+
||A|B|C|D|E|F|G|
|
18
|
+
|
19
|
+
|:--|:--:|--:|
|
20
|
+
|
21
|
+
|1|101|203|204|205|206|
|
22
|
+
|
23
|
+
|2|101|203|204|205|207|
|
24
|
+
|
25
|
+
|3|101|203|204|205|208|
|
26
|
+
|
27
|
+
|4|101|203|204|205|209|
|
28
|
+
|
29
|
+
|~~|~~|~~|~~|~~|~~|~~|~~|
|
30
|
+
|
31
|
+
|999999|134|219|221|222|223|
|
32
|
+
|
33
|
+
|1000000|134|220|221|222|223|
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
行5~行999998までは同様の内容が続き、省略してあります。
|
38
|
+
|
39
|
+
列Fと列Gは空欄になっています。txtファイルの中には列Fと列Gに値が入っているものも例外的にあります。
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
1
45
|
■シート名:判定
|
2
46
|
|
3
47
|
||A|B|C|D|E|F|G|H|・・・|AOO|AOP|
|
@@ -34,37 +78,11 @@
|
|
34
78
|
|
35
79
|
|
36
80
|
|
37
|
-
■シート名:txtデータ
|
38
|
-
|
39
|
-
||A|B|C|D|E|F|G|
|
40
|
-
|
41
|
-
|:--|:--:|--:|
|
42
|
-
|
43
|
-
|1|101|203|204|205|206|
|
44
|
-
|
45
|
-
|2|101|203|204|205|207|
|
46
|
-
|
47
|
-
|3|101|203|204|205|208|
|
48
|
-
|
49
|
-
|4|101|203|204|205|209|
|
50
|
-
|
51
|
-
|~~|~~|~~|~~|~~|~~|~~|~~|
|
52
|
-
|
53
|
-
|999999|134|219|221|222|223|
|
54
|
-
|
55
|
-
|1000000|134|220|221|222|223|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
行5~行999998までは同様の内容が続き、省略してあります。
|
60
|
-
|
61
|
-
列Fと列Gは空欄になっています。txtファイルの中には列Fと列Gに値が入っているものも例外的にあります。
|
62
|
-
|
63
|
-
|
64
|
-
|
65
81
|
■シート名:判定後データ
|
66
82
|
|
67
83
|
このシートは空の状態です。
|
84
|
+
|
85
|
+
|
68
86
|
|
69
87
|
|
70
88
|
|