遅い VBA マクロの処理を効率化する別の方法を提案します

時間がかかる VBA マクロの処理を VBA 以外の方法で効率化する方法を提案します

筒井敏文

業務内容

※ 現在、都合により新規のご依頼の受付を休止しております。

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 マクロの処理でお困りの方は、ぜひお気軽にご相談ください。

デバイス
デスクトップ・ラップトップ
オペレーティングシステム
Windows OSx

基本料金

プラン
10,000

ベーシック

解決に要する時間が 4 時間までの案件
15,000

スタンダード

解決に要する時間が 6 時間までの案件
20,000

プレミアム

解決に要する時間が 8 時間までの案件
納期
1 日
2 日
3 日
合計
10,000円
15,000円
20,000円

出品者

筒井敏文
筒井敏文 (wpandora7)

Windows / macOS / Linux で動作するアプリを開発いたします

<< お知らせ >>
現在、都合により新規のご依頼の受付を休止しております。
ただし、ポートフォリオの「表計算ソフトの住所リストから郵便番号を一括で検索する「郵便番号検索アプリ」を開発しました」に関するご依頼は、常時受け付けしております。

----------------------------------------------------------------------------------------------------------------------------

今もっとも人気があるといわれるプログラミング言語 "Python"(パイソン)をメインに、主に Windows / macOS / Linux で動作するデスクトップアプリを開発しています。

以前は "C#"(シー・シャープ)というプログラミング言語をメインとしていたので、「オブジェクト指向プログラミング」 や 「データ型」 についても理解しています。

アプリの開発にあたっては、将来的な仕様変更や機能拡張にも柔軟に対応できる設計を心がけています。
また、処理速度やメモリ使用量、そして何より 「使いやすさ」 について可能な限りこだわります。
さらに、上記の方針による開発を、AI の導入等により短時間で実現します(VBA マクロによる開発よりも短時間です)。

「ただ動けばよい」 という考えでの開発はいたしません。

なお、VBA マクロによる開発のご依頼はお断りしております。
VBA マクロによる開発に 20 年以上関わってきた経験から、VBA の処理効率や開発効率の悪さは熟知しております。
VBA マクロによる開発のご依頼をいただいた際は、より効率的な方法を提案させていただきます。


◆連絡可能時間
毎日 10:00 ~ 21:00(不定休)

● 時間帯によっては、食事・入浴・外出等で席を外して、返信が遅くなる場合がございます。
● 21:00 以降にいただいたメッセージへの返信は、翌日になる場合がございます。

注文時のお願い

料金は、解決に要する時間が 4 時間までのご依頼の場合、一律 10,000 円(システム手数料込み)です。
解決に要する時間が 4 時間を超える場合は、1 時間増えるごとに 2,500 円の追加となります。
料金表はあくまでも目安です。
ご相談いただければ、見積もりいたします。

ご注文は原則毎日受け付けておりますが、時間帯によっては、すぐに対応させていただけないことがありますので、予めご了承くださいませ。