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