1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

業務に使用するシステムの判別基準 ― Excel VBAは「最初の選択肢」ではない

Last updated at Posted at 2026-01-13

はじめに

Excel VBAは手軽で強力な自動化手段です。
しかし、業務システムの選定において最初に選ぶべきものではありません

  • Excelがある
  • VBAが書ける
  • だからVBAで作る

この判断は短期的には成立しますが、
中長期では 運用・保守・拡張のいずれかで歪みが出ます

本記事では、
業務に使用するシステムを判別する視点として
「Excel VBAが最適解にならない場面」を整理します。

Excel VBAを最初の選択肢にすべきでない場面①

恒常的に大量データを扱う業務

  • 数十万行以上のCSVを定常処理
  • ログ・履歴データの蓄積と集計
  • JOINや集約処理が頻発する

Excel自体が大量データ処理向けではなく、
VBAは逐次処理が基本です。

結果として起きること:

  • 処理時間が読めない
  • メモリ不足が発生する
  • 環境差で挙動が変わる

代替として検討すべき選択肢:

  • Access
  • SQL Server / PostgreSQL
  • Power Query(軽度な場合)

Excel VBAを最初の選択肢にすべきでない場面②

複数人・複数拠点で同時利用する業務

  • 共有フォルダ上のExcelを複数人で操作
  • Excelのバージョンが統一されていない
  • マクロ有効/無効の差異がある

VBAはクライアント依存が非常に強いため、
この構成では運用が破綻しやすくなります。

典型的な問題:

  • 同時編集不可
  • 原因不明のエラー
  • 特定環境でのみ再現する不具合

この場合は:

  • Webアプリ
  • 業務システム
  • RPA(端末完結の場合)

を検討すべきです。

Excel VBAを最初の選択肢にすべきでない場面③

業務ルールが頻繁に変わる処理

  • 条件分岐が増え続ける
  • 例外対応が後付けされる
  • 担当者ごとに判断が揺れる

VBAで対応すると、
If文が増殖し続ける構造になります。

結果:

  • 修正のたびに別の処理が壊れる
  • 作者以外が触れない
  • 仕様がコードに埋もれる

この場合は:

  • ルールのマスタ化
  • 設定ファイル化
  • RPA+外部定義

を先に考えるべきです。

Excel VBAを最初の選択肢にすべきでない場面④

エラーが許されない業務

  • 金額計算
  • 請求・支払
  • 勤怠・給与

VBAは、エラー処理を書かなければ
エラーを無視して処理を続行できます
逆に言えば潜在的なエラーを抱えてしまう恐れがあります。

VBA
On Error Resume Next

Excel VBAを最初の選択肢にすべきでない場面⑤

業務が整理されていない状態

  • 手順が人によって違う
  • 判断基準が曖昧
  • 例外条件が洗い出されていない

この状態でVBAを書くと、
業務の歪みをそのまま固定化することになります。

結果として:

  • 属人化が進む
  • 「なぜこうなっているのか」が誰にも分からなくなる
  • 改善しようとすると全体が壊れる

自動化の前に必要なのは:

  • 業務手順の整理
  • 判断基準の明文化
  • 例外条件の洗い出し

VBAに限らず、自動化は改善の後段です。

まとめ

Excel VBAは便利ですが、
業務に使用するシステムの判別基準として見ると、
最初に選ぶべきものではありません。

  • 大量データ
  • 多人数運用
  • 高頻度ルール変更
  • 高信頼性要求

これらが絡むほど、
VBAは最適解から遠ざかります。

「作れるか」ではなく、
「使い続けられるか」で選ぶべきです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?