【検証】Excelマクロ高速化!セルへの入力回数を減らせば早くなるVBA高速化2020.05.04初心者Excelマクロ(VBA)プログラマー・エンジニアで、Excelマクロの処理速度が遅くて悩んでいるなら必見です。セルへの値の代入回数を減らせば、そのマクロ超高速になるかもしれませんよ!この記事では、セルへの代入がマクロの実行時間に与える影響を検証しました。処理結果まとめExcelのセルへの入力回数を減らせば早くなるExcelマクロはセルに対する値の入力回数を減らせば劇的に早くなります。その根拠を見ていきましょう。Excelのセル参照回数が多いと遅いのか?次の3パターンで処理速度を比較しました。処理速度は次のようになりました。28.257テストに利用したプログラムは以下です。SubA列の行数文「for文」を回しただけです。処理は行っていません。SubA列の値を1セルずつ、変数「temp」に代入しています。セルの値を参照するだけの処理です。SubA列の1セルずつ値を書き込んでいます。処理結果これらdemo01~03までの処理結果がこちらです。繰り返し処理の回数は、Excelの最大行数である1,048,576回です。Demo-03の処理速度が最も遅いですね。マクロが遅い原因はセルに対する入力処理Excelマクロが遅くなる原因の1つが、セルに対する値の入力処理である事が分かりましたね。For文を使って、1セルずつ処理をするExcelマクロは処理速度が遅くなって当たり前です。それでは、この解決策を見ていきましょう。セルへの入力回数を減らすためのコーディングExcelシートのセルへ入力回数を減らすにはどうしたらよいのか...答えは「配列」を使う。シート全体を配列にぶち込んで処理それでは、続いて配列を使ったデモを実施してみました。処理速度は次のようになりました。1.457#2と#4、#3と#5を比較すると劇的に処理速度が改善しています。テストに利用したプログラムは以下です。Sub(▼)Variant型のbuffという変数にA列のセルを全て代入します。プログラム自体もFor文を使わないので、簡潔で読みやすいです。この時、buffの中身は次のようになっています。一気に取得できて楽ですよね。Sub#4で取得したbuffに対してFor文で値を代入しています。最後に(★)A列にbuffを代入します。処理結果それではこちらがdemo04,demo05の処理結果になります。配列を使う事で処理速度が劇的に改善されましたね。まとめExcelマクロの処理速度が遅くて悩んでいるなら、セルに対する値の代入回数に着目してみましょう。セルに対する値の代入処理を最小限する事で、Excelマクロの処理速度は格段に改善されます!「Excelマクロだから遅くて仕方がない」は、ただの言訳!技術不足です!他にも「初心者のVBAが遅い原因4つを紹介!Excelのセル参照を減らすための知識」などを紹介しています。コピーmeshiをフォローするmeshiメシラボ関連記事VBA高速化Excelマクロの画面更新を無効化し高速化しよう!初心者向けVBAの常識についてExcelマクロの画面更新を無効化する方法を紹介します。画面更新を無効化する事で、「処理の度に画面を更新する」処理が省略されExcelマクロが高速化します。【検証】ExcelマクロでVlookupを使うと遅い!辞書(Dictionary)で高速化しようせっかくExcelマクロ(VBA)が組めるのにマクロでもVlookupを使いまくってる。いう残念な方がたまに居ますね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ゼロからプログラムを学ぶなら▼この本がオススメです▼かんたんExcelマクロ&VBA購入はこちらをクリックゼロからプログラムを学ぶなら▼この本がオススメです▼かんたんExcelマクロ&VBA購入はこちらをクリックスポンサーリンクサイト運営者情報P.Man俺はP.Man(ピーマン)だ。事務職のついでにExcelマクロを習得しちまったエンジニアさ。俺が学んだ事をできる限り、お前らに共有すっから、ちゃんと学んで行けよ!(っていうオラオラキャラで運営していますが、中の人はヤンキー上がりではありません。自動化のお仕事もお受けたまります。メシラボ.メニューお問い合わせプライバシーポリシーホーム検索トップサイドバーゼロからプログラムを学ぶなら▼この本がオススメです▼かんたんExcelマクロ&VBA購入はこちらをクリックスポンサーリンクサイト運営者情報P.Man俺はP.Man(ピーマン)だ。事務職のついでにExcelマクロを習得しちまったエンジニアさ。俺が学んだ事をできる限り、お前らに共有すっから、ちゃんと学んで行けよ!(っていうオラオラキャラで運営していますが、中の人はヤンキー上がりではありません。自動化のお仕事もお受けたまります。自動化ノウハウゼロからプログラムを学ぶなら▼この本がオススメです▼かんたんExcelマクロ&VBA購入はこちらをクリックタイトルとURLをコピーしました。