VBA
業務改善
Excel VBAとWeb システム化を比較|どちらを選べばいい?
ぴーす君
Excelで業務を効率化しようとするとき、
「Excel VBAで作るのがいいのか、それともWebシステムにしたほうがいいのか?」
と迷うことがあります。
Excel VBAは、普段使っているExcelをそのまま利用できるため、業務によっては非常に便利です。
一方、複数人で同じデータを扱ったり、入力・確認・承認といった業務の流れをシステムで管理したりする場合には、Webシステム化が適していることがあります。
では、どこで判断すればよいのでしょうか。
私がExcel VBAとWebシステムのどちらにするか考えるとき、最初に見るのは「そのシステムをどの範囲で利用するのか」です。
Excel VBAとWebシステムは、そもそも得意なことが違う
Excel VBAとWebシステムは、どちらが優れているというものではありません。
得意としていることが違います。
Excel VBAが向いている業務
Excel VBAは、Excelを使った業務を自動化することが得意です。
例えば、
データ入力
計算
データチェック
集計
帳票作成
ファイル作成
ファイル名の変更
Excelファイル間のデータ連携
などです。
担当者がExcelを開いて、
入力する
↓
VBAで処理する
↓
結果を確認する
↓
帳票を作成する
というように、一人の中で業務が完結するのであれば、Excel VBAは非常に使いやすい選択肢です。
既にExcelを使っている会社であれば、新しいシステムを導入する必要がなく、現在の業務を大きく変えずに自動化できることもメリットです。
Webシステムが向いている業務
一方、Webシステムでは、複数の人が同じデータを利用しながら業務を進める仕組みを作りやすくなります。
例えば、
Aさんが入力
↓
Bさんが確認
↓
Cさんが承認
という業務です。
この場合、単純に「Excelで同じ処理ができるか」だけではなく、誰が処理するのか、今どの状態なのか……といった情報も必要になります。

つまり、Excel VBAとWebシステムは、単純に「どちらが高機能か」で比較するものではありません。得意としている業務の範囲が異なります。
共有フォルダに置けば、複数人で使える?
「複数人で使いたいなら、共有フォルダにExcelファイルを置けばいいのでは?」
これは、もっともな考え方です。
実際、社内のファイルサーバーなどにExcelファイルを置き、複数人で利用することはできます。
ただし、
「複数人がファイルを開ける」ことと、「複数人が同じ業務を安全に処理できる」ことは同じではありません。
例えば、AさんとBさんが同じExcelファイルを開いて、それぞれがデータを変更するとします。
この場合、
誰がどのデータを変更したのか
同時に変更されていないか
どのタイミングで保存されたのか
エラーが発生した場合、何が原因なのか
などを考える必要があります。
そこで、必要に応じて「排他編集」などの仕組みを組み込むことになります。
Excel VBAでも排他編集はできる
Excel VBAでも、複数人が同時に編集しないようにする仕組みを作ることはできます。
例えば、
Aさんがファイルを開く
↓
「使用中」という状態にする
↓
Bさんが開こうとすると編集できないようにする
↓
Aさんが終了したら、再び利用できるようにする
といった仕組みです。
実際、私もExcel VBAで排他編集の仕組みを作ったことがあります。
つまり、
「複数人で使うからExcel VBAでは無理」
という単純な話ではありません。

ファイルサーバーなら成立するケースもある
特に、社内のファイルサーバーにExcelファイルを置いて利用する場合は、排他編集の仕組みを構築しやすくなります。
これはExcel VBAに限った話ではありません。
例えばAccessでも、共有された環境で複数人がデータを扱う仕組みがあります。
そのため、
「複数人で使うなら、すぐにWebシステム化しなければならない」
とは限りません。
ファイルサーバー上で業務が成立するのであれば、Excel VBAという選択肢も十分あります。
クラウドストレージでは事情が変わる
では、
「ファイルサーバーで共有できるなら、Dropboxなどのクラウドストレージでも同じようにできるのでは?」
と考えるかもしれません。
ここには注意が必要です。
クラウドストレージでは、あるパソコンでファイルを変更すると、
パソコン
↓
クラウドへ同期
↓
別のパソコンへ同期
という処理が入ります。
そのため、ファイルの変更が別の端末へ反映されるまでにタイムラグが発生することがあります。
これは、排他編集を考えるうえで重要な違いです。
実際、私も排他編集の仕組みを作った経験がありますが、クラウドストレージを利用したファイル共有では、同期のタイミングまで考える必要がありました。
ファイルサーバーを前提に作った仕組みを、そのままクラウドストレージに持っていけばよい、とは限りません。
つまり、
「ファイルを共有できる」ことと、「複数人が同じデータを安定して共有できる」ことは別の問題です。
利用範囲が広がると、Webシステム化を検討する理由が増える
ここからが、Excel VBAとWebシステムの判断で重要になる部分です。
「何人で使うか」だけでは判断できない
例えば、10人の担当者がいても、それぞれが別々のExcelファイルを使い、最後に集計するだけなら、Excel VBAで対応できる場合があります。
一方で、3人しか使わなくても、
Aさんが入力
↓
Bさんが確認
↓
Cさんが承認
という業務なら、利用者同士の関係があります。
そのため、単純な人数だけでは判断できません。
見るべきなのは、
何人が使うのか
同じデータを扱うのか
どこから利用するのか
誰から誰へ業務がつながるのか
権限が必要なのか
承認や差し戻しがあるのか
といった、システムの利用範囲です。
「ファイルを共有する」から「業務を共有する」へ
例えば、
Aさんが申請する
↓
Bさんが確認する
↓
Cさんが承認する
↓
完了する
という業務を考えてみます。
ここで管理したいのは、Excelファイルそのものだけではありません。
誰が申請したのか
誰が確認するのか
今どの状態なのか
誰のところで止まっているのか
いつ承認されたのか
差し戻されたのか
といった業務の状態です。
つまり、
「ファイルを共有したい」のではなく、「業務を共有したい」
という状態になります。
ここまで来ると、Webシステム化を検討する意味が大きくなってきます。
複数拠点・社外から利用する場合
さらに、
本社
支店
営業所
現場
自宅
取引先
など、利用する場所が増えてくると、ファイルをどこに置くのかという問題も出てきます。
社内のファイルサーバーだけで完結していた業務が、複数拠点や社外からも利用する必要が出てきた場合、これまでとは違った仕組みが必要になることがあります。
このように、利用者だけでなく、利用する場所や業務の流れまで広がっていくと、Webシステムのメリットが大きくなります。
Webシステム化には、それだけの費用をかける価値があるのか?
ここまで読むと、
「複数人で使うならWebにすればいいのでは?」
と思うかもしれません。
しかし、Webシステム化にも当然、費用がかかります。
Webシステムを開発する場合、Excel VBAでファイルを作るのとは違い、
データベース
画面
ユーザー管理
権限
業務フロー
セキュリティ
サーバー
保守
などを考える必要があります。
そのため、システムの内容によっては、Excel VBAで開発する場合とWebシステムで開発する場合で、数百~千万円単位で費用が変わることもあります。
もちろん、Webシステムのほうが高いからダメという話ではありません。
Webシステムにすることで、
複数人が同じデータを扱える
業務フローを管理できる
利用者ごとの権限を設定できる
複数拠点から利用できる
といったメリットが得られるのであれば、その費用をかける意味があります。
重要なのは、
「Webにすれば高機能になるから」ではなく、「その業務に本当に必要なのか」
を考えることです。
Excel VBAとWebシステム、どちらを選べばいい?
ここまでの話を簡単に整理します。
利用のされ方 | 検討しやすい選択肢 |
|---|---|
一人で完結する | Excel VBA |
少人数で、それぞれが個別に利用する | Excel VBA |
ファイルサーバーで共有できる | Excel VBA+共有環境 |
複数人が同じデータを扱う | Webシステムも検討 |
入力・確認・承認などの業務フローがある | Webシステムを検討 |
複数拠点・社外から利用する | Webシステムを検討 |
もちろん、これは絶対的な基準ではありません。
Excel VBAで複雑な仕組みを作ることもできますし、Webシステムでも小規模なものはあります。
大切なのは、最初から「VBAにする」「Webにする」と技術を決めないことです。
まず、
誰が使うのか?
どこで使うのか?
どのように業務がつながるのか?
を考える。
そのうえで、Excel VBAで十分なのか、ファイルサーバーなどの共有環境を使えばよいのか、それともWebシステム化したほうがよいのかを判断します。
まとめ
Excel VBAとWebシステムは、どちらが優れているというものではありません。
Excel VBAには、Excelをそのまま利用できるという大きな強みがあります。
一人で完結する業務や、Excelを中心に処理する業務であれば、非常に便利な選択肢です。
複数人で利用する場合でも、ファイルサーバーと排他編集などの仕組みを組み合わせることで対応できる場合があります。
一方で、
複数人が同じデータを扱う
入力→確認→承認と業務がつながる
複数拠点から利用する
社外からも利用する
といったように、利用範囲が広がるほど、Webシステム化を検討する意味が大きくなります。
ただし、Webシステム化には相応の開発費がかかります。
だからこそ、
「Excel VBAかWebか?」を最初に決めるのではなく、まず「そのシステムをどの範囲で利用するのか?」を考える。
それがシステム化の方法を選ぶときの最初の判断材料になると考えています。