※ 現在、都合により新規のご依頼の受付を休止しております。
VBA マクロで開発された遅くて不安定なアプリでお困りではありませんか?
"業務用アプリ = VBA マクロ" とお考えの方も多いかと思いますが、実際には、VBA マクロは本格的なアプリ開発には向いていません。
VBA マクロでの開発に 20 年以上関わってきた経験から、私は、VBA マクロの処理効率や開発効率の悪さは熟知しております。
検証のために、以下のテストをしてみました。
Excel ファイルおよび CSV ファイルの 1 列目(A 列)に、ランダムに生成された 0 〜 500 点の点数が、50 万件入力されています。
このファイルを読み込んで、それぞれの点数の偏差値を計算し、点数の右隣のセル(B 列)に入力して、結果を Excel ファイルおよび CSV ファイルに出力します。
この処理を行うプログラムを、VBA と Python で作成して、処理にかかる時間を比較してみました。
Excel ファイルから読み込み Excel ファイルに出力:
VBA: 約 26 秒 Python: 約 13 秒
CSV ファイルから読み込み Excel ファイルに出力:
VBA: 約 26 秒 Python: 約 9 秒
Excel ファイルから読み込み CSV ファイルに出力:
VBA: 約 26 秒 Python: 約 4 秒
CSV ファイルから読み込み CSV ファイルに出力:
VBA: 約 25 秒 Python: 約 0.1 秒
あくまでも当方の PC 環境での結果ですが、特に CSV ファイルの入出力で大きな差が出ました。
Python の場合、50 万件の CSV データを読み込み、計算して、CSV ファイルに出力するまで、わずか 0.1 秒です(データのファイル入出力および演算には "Polars" ライブラリを使用)。
このように、時間がかかる VBA マクロの処理を効率化できる方法を提案します。
Python を利用する以外にも、Excel の基本機能や数式(関数)を用いるだけで解決する場合もあります。
時間がかかる VBA マクロの処理でお困りの方は、ぜひお気軽にご相談ください。
料金は、解決に要する時間が 4 時間までのご依頼の場合、一律 10,000 円(サービス手数料込み)です。
解決に要する時間が 4 時間を超える場合は、1 時間増えるごとに 2,500 円の追加となります。
ご相談いただければ、見積もりいたします。
ご相談は原則毎日受け付けておりますが、時間帯によっては、すぐに対応させていただけないことがありますので、予めご了承くださいませ。