エクセルVBAのパフォーマンス・処理速度に関するレポート
ExcelのマクロVBAは遅い・重いと良く言われることが多いようですが、
Excel 2010 のパフォーマンス: パフォーマンスの問題を最適化するヒント
- 参照とリンク
- 使用範囲の最小化
- 追加データの許可
- ルックアップ
- 配列数式と SUMPRODUCT
- 関数の効率的な使用
- VBA マクロの高速化
- Excel ファイル形式のパフォーマンスとサイズ
- ブックのオープン、クローズ、保存、およびサイズ
- 他のパフォーマンスの最適化
- まとめ
- その他の技術情報
ここは必読です、ここを読まずして、エクセルのパフォーマンスについて語る事がないように。
VBA高速化テクニック
- 無駄な表示を止める
- 無駄なSelectをしない
- 余計なことはしない
- 何度も同じことをしない
- 個別に呼ばない
- 型を指定する
- 名前で呼ばない
- 標準のプロパティ
- 関数も使おう
- セルの指定方法
- セルを配列に入れる
- 文字列型関数を使う
配列を使う事の有効性等、かなり参考になるはずです。
以下は、私が速度について記載したページです。
Findメソッドを私が使わない理由
いずれも多くの事が書かれており、結局何をどうすれば・・・
VBA高速化テクニック・・・セルを配列に入れる
また、単なるテクニックではなく、正しいロジック・アルゴリズムによっても大きく変わります。
上記の速度対策について、具体的なVBAコードで速度検証しています。
同じ処理をするVBAコードが、全部で11サンプル掲載しています。
遅いVBAがあるなら、そのコードは、この11サンプルのどのレベルなのかを見て下さい。
そして、それ以降の対策を考えてみましょう。
上記の速度対策では語られていない速度アップ技術について、以下で解説しています。
大量データにおける処理方法の速度王決定戦
遅い文字列結合を最速処理する方法について
ここでの速度アップ技術は、VBAにおける究極の対策です。
理論は決して難しいものではありませんが、
このような技術を、時々で臨機応変に駆使出来ればプロレベルと言えるでしょう。
同じテーマ「マクロVBA技術解説」の記事
最終行の判定、Rangeオブジェクトと配列、高速化の為に
記述による処理速度の違い
速度比較決定版【Range,Cells,Do,For,ForEach】
エクセルVBAのパフォーマンス・処理速度に関するレポート
VBAのFindメソッドの使い方には注意が必要です
マクロVBAの高速化・速度対策の具体的手順と検証
動的2次元配列の次元を入れ替えてシートへ出力(Transpose)
大量データで処理時間がかかる関数の対処方法(SumIf)
大量データにおける処理方法の速度王決定戦
遅い文字列結合を最速処理する方法について
大量VlookupをVBAで高速に処理する方法について
新着記事NEW ・・・新着記事一覧を見る
新旧マスタの差異比較|Power Query(M言語)入門(2023-02-28)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-26)
有効な最新単価の取得|Power Query(M言語)入門(2023-02-21)
グルーブ内の最小・最大|Power Query(M言語)入門(2023-02-17)
2つのテーブルのマージ|Power Query(M言語)入門(2023-02-15)
「売上」が数値の行のみ取り込む|Power Query(M言語)入門(2023-02-13)
A列のヘッダー名を変更する|Power Query(M言語)入門(2023-02-11)
CSVのA列が日付の行だけを取り込む|Power Query(M言語)入門(2023-02-10)
列数不定のCSVの取り込み|Power Query(M言語)入門(2023-02-09)
別ブックの最終シートの取り込み|Power Query(M言語)入門(2023-02-08)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.並べ替え(Sort)|VBA入門
8.Excelショートカットキー一覧|Excelリファレンス
9.エクセルVBAでのシート指定方法|VBA技術解説
10.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBA技術解説
- エクセルVBAのパフォーマンス・処理速度に関するレポート
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。