Excel VBA > VBA:実務活用 > システム化するほどExcel化離れする!?
このエントリーをはてなブックマークに追加

システム化するほどExcel化離れする!?

Excel開発のシステムとは

Excelで開発したシステムは、文字通りExcelがプラットフォーム(土台)になり、ExcelがインストールされていないPCでは動きません。
最近ではExcelのバージョンも多岐にわたり、1つのPCで複数のバージョンが使える設定になっていることはもちろん、(複数PCで使う場合)オフィス等でバージョンが混在している環境も考慮して開発しないと、うまく動かないといったことがあり、開発者に求められる要求レベルも少しずつ高くなってきている感があります。
このような環境化を意識して作られるシステムは、高い精度や安定性を求められますが、システムの在り方によっては「Excelである必要があるのか?」を問う必要も出てきそうです。
マイクロソフトから提供されているExcelと同系列で見られるソフトにAccessがありますが、この方がシステム的には相対的に強度が高いため、その辺りも上手く比較検討したほうがよいかもしれません。

ガチガチのExcelシステム

「ガチガチのExcelシステム」とは、Excelの基本機能が使えないようなイメージのシステムです。いわゆる開発者が作った独自画面(ユーザーフォーム)で、入力から出力までを行います。すなわち(システム)利用者が直接シートに触れることなく、画面上で完結できてしまうシステムです。
Excelシステム ToHTML変換
(上記はCSVデータからHTML化するExcelシステムで、画面間の操作設定で作業は完了しますが、この場合は利用者に好き勝手操作できないよう制限しています)

あくまで一般的に見ると、このレベルのシステムでは相応の理由が無い限りは、Excelである必要性を検討したほうがよいように思えます。恐らく画面を通じて入力されるデータは、(開発者から見れば)直接イジってほしくないデータであることが考えられますし、その方が誤ったデータが入る隙間がなく、いわゆる「エラーデータがない」という前提で、システムを組み立てることができるからです。
この仕組みはExcelに限らず、Web(ホームページ)での会員登録の画面やお問い合わせのフォーム画面でも同様で、「電話番号」、「住所」等で全角半角のチェックをしたり、必須項目が未入力の場合に再度入力を促す注意メッセージを表示したりします。

イメージとしては、システムが決めたルールに基づいて入力するような仕組みです。このルールが厳しいほど「ガチガチ度」は高くなります。これは開発者側からすると「(エラーデータが登録されることが無いため、)管理しやすい」仕組みとなるわけです。

Excelの見せどころを理解しているか

自社で開発する場合や、外注業者に依頼する場合でも検討すべき点としてはこれまでに挙げた「Excelである必要性」です。
考えれらる点としては例えば下記のようなものです。
・基本的には1台で利用する
・過去に溜めたExcelデータが山ほどある
・費用的に安い傾向がある
・システムで処理したデータをもう一度Excelで加工(印刷)したい

などです。各々だけを個別に見ると、Excelが必要とまで言い切れる理由としては弱いですが、いくつか要項がまとまると、「Excelであったほうが良い」と言える理由になり得ます。
このようにどのような形で使いたいか等をある程度深堀して検討する必要があります。

例えば、上記画像のシステム「ToHTML変換」で、Excelで開発した根拠は
・多くの企業で利用してほしい
・様々なCSVデータがExcelで読み込める
・Excelの普及率が異常に高い(ある情報では企業の9割が利用しているとか)
・サーバー負担を軽減する(自分のPC内で処理させる)

などです。本サイトではExcelシステム開発を謳っていることもありますが(笑)、このように考えてExcelでの開発を決定しました。

単にガチガチのシステムで、「データを都度入力し、システムが自動集計し、それを印刷したら終わり」のようなシステムの場合は、Excelである必要がなく、Access等で行った方が後のメンテナンスまでを考慮すると得策の場合も出てきます。
このようにExcelの持つ特徴を理解しつつ、システム開発を検討するとよりベターな案が出てきます。

カテゴリ:VBA:実務活用