Excel VBAでデータ高速読み込み(パターン1)
Excel VBAでデータを高速に読み込んで一括でシートに転記します。
大きく分けて2パターン紹介するつもりです。
グルーピングロジックを追加したものも含めれば3パターン
目次
処理の概要
通常のどの言語にでもあるようなStreamReaderを使用して1レコード(行)読み込み
セルに書き込むと言う風な方法にするとExcel VBAでは処理が遅く時間がもったいないです。
なので動的2次元配列を使用し読み込んだデータを2次元配列ごと一括でシートに転記します。
- データ数調べる
- データ数で2次元配列宣言する
- 読み込んだデータどんどん配列に追加していく
- 配列ごと一括で転記
こんな感じです。
ソース
最後の一括転記の部分で範囲+1ってやってるのは
配列が0から数えるのとシートがA1から始まるのの違いね
もうほぼ概要で説明したとおりのことやってるだけです
項目数とか適当だし最後に範囲指定してるRangeも適当な項目位置です。
https://gist.github.com/03078a50b77087ccff76445c4327acc3 🔗
参考サイト様
覚えてない
雑感
VBA触り始めの時のコードだからなんでそれ使ってるんwwwってのがあるね仕方ないね
なお、今もほぼ変わり映えしない模様
ちゃんとパターン2と3も書きまする。