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

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

筒井敏文
  • 筒井敏文 (wpandora7)
  • シルバー 本人確認済み、受注実績あり、評価が高く活躍中のフリーランスです
  • 28 満足の評価件数
    0 残念の評価件数

業務内容

VBA マクロで開発された遅くて不安定なアプリでお困りではありませんか?

VBA マクロは、Microsoft Office 製品に標準で付属する機能ではありますが、処理が遅くて不安定です。
"業務用アプリ = 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 で動作するアプリを開発いたします

  • 28 満足の評価件数
    0 残念の評価件数
  • シルバー
  • 個人
  • 長野県

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

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

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

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


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

● 食事・入浴・外出等で席を外すことがあります。
● 22:00 以降にいただいたメッセージへの返信は翌日になる場合がございます。


◆経歴
過去に、国家公務員として 15 年間勤務し、うち 6 年間ネットワーク・システム管理を担当しておりました。
当時は、Windows2000 Server の機能と WSH(VBScript)を利用して、ネットワークに接続された PC の設定変更作業を自動化するなどしておりました。

その他の期間は、統計調査部門に勤務していたため、Excel を利用したデータ編集や集計作業、テキストエディタでの正規表現を利用したデータ編集等を得意としております。

注文時のお願い

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

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

利用シーンから探す