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

質問編集履歴

3

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

2018/10/24 02:04

投稿

hirohisasato
hirohisasato

スコア15

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

変更点を記述する。

2018/10/24 02:04

投稿

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

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

2018/10/23 09:09

投稿

hirohisasato
hirohisasato

スコア15

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
  |順番|シート名|処理内容|