質問編集履歴

3

削除された内容の復元を行いました

2018/10/24 02:04

投稿

hirohisasato
hirohisasato

スコア15

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

変更点を記述する。

2018/10/24 02:04

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 生成したtxtファイルのデーを1000行ずつ1000回ープして処理したいです
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
- 行5~行999998までは同様の内容が続き、省略してあります。
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

ご指摘のあった部分について修正・加筆しました。

2018/10/23 09:09

投稿

hirohisasato
hirohisasato

スコア15

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