Excel VBAでデータ高速読み込み&書き込み(パターン3)
Excel VBAでデータ高速読み込み&書き込み(パターン2)
処理の概要
前回はデータ数を最初に調べて2次元配列を宣言しましたが
今回は条件でデータを抽出するため最終的なデータ数が不明です。
1.データ読み込んで条件にヒットするか調べる。
2.データが条件にヒットしたら2次元配列を再宣言して要素数を増やす。
3.1と2をどんどん繰り返す。
4.行列入れ替え処理
5.一括転記
ざっとこんな感じっす
今回の読み込み処理はグルーピング処理の過程でできたものなので
抽出条件に当てはまるたびに再宣言しているため
無駄っちゃ無駄です。でも、そこら辺の巷にあふれてるVBAプログラムよりは早いです。
仕様等で数値が決まってる場合は動的2次元配列は使わなくてもいいかもね
Excel VBAでデータ高速読み込み&書き込み(パターン1)
Excel VBAでデータ高速読み込み(パターン1)
Excel VBAでデータを高速に読み込んで一括でシートに転記します。
大きく分けて2パターン紹介するつもりです。
グルーピングロジックを追加したものも含めれば3パターン
パターン1
最初から読み込むデータ数と項目数がわかっている。(この記事)
パターン2
読み込み時に抽出処理(データの選別)を行うので読み込むデータ数がわからない
kitigai.hatenablog.com
パターン3
パターン2の応用でグルーピングで抽出条件を設定します。
グループ内に条件に合うデータが2つ以上あればグループをインプットすると言った具合です。
kitigai.hatenablog.com
どのロジックでも100万レコード読み込み&書き込みチャレンジ実施済みです。
処理の概要
通常のどの言語にでもあるようなStreamReaderを使用して1レコード(行)読み込み
セルに書き込むと言う風な方法にするとExcel VBAでは処理が遅く時間がもったいないです。
なので動的2次元配列を使用し読み込んだデータを2次元配列ごと一括でシートに転記します。
1.データ数調べる
2.データ数で2次元配列宣言する
3.読み込んだデータどんどん配列に追加していく
4.配列ごと一括で転記
こんな感じです。
Excel VBAでグルーピングしてセルに罫線を設定する
概要
kitigai.hatenablog.com
これの続きです。
色付けただけじゃわかりずらいよね?よね?
なので前のソースに少し手を加えて罫線も設定します。
前提等は前の記事と一緒です。
ソースだけ貼ります。
目次
- 概要
- 目次
- ソース
- 参考
- 雑感