【開発事例】日報入力集計システム バージョンアップ(Excel同時編集)
- yuji fukami
- 7月29日
- 読了時間: 6分
※掲載している内容・資料は、実際の案件に基づきつつ、個人・企業が特定できないよう内容を一部加工・再構成したものです。守秘義務に配慮し、実際の顧客情報等は一切含まれておりません。
今回の記事は下記記事の次のバージョンで開発を依頼されたものです。
■ 背景と課題
既存のExcelベースのシステム(前回記事)は、初期の運用には適していても、ビジネスの変化やユーザーからの新たな要望に対応しきれない場面が出てきます。今回のお客様からも、前回の記事で納入したシステムに対して、使用していくと以下のような具体的なご要望が寄せられました。
複数人での同時編集の実現(Excel同時編集)
チームメンバーが同時に日報を作成・編集できるようにしたい。現状では、ファイルを開いている人がいると他のメンバーが待機せざるを得ず、業務のボトルネックとなっていました。
項目の追加への対応
日報に新たな項目を追加し、それを効率的に選択・入力できるようにしたい。特に二択形式での入力が求められました。
データベースに登録したデータの編集・上書き機能
過去の日報データを参照するだけでなく、必要に応じて修正や上書きができる機能がほしい。これにより、データの正確性を保ち、過去データの柔軟な活用を可能にしたい。

■柔軟な発想とVBAの力で同時編集の突破口を開く
今回お客様から寄せられたご要望、特に「複数人での同時編集」は、Excelの特性上実現が難しい課題です。よくある構築としては高額なデータベースシステムへの移行となりますが、「今回のお客様にとっての困りごとに対しての必要最小限の機能」という視点から解決策として従来のエクセルにおいて同時編集機能を追加する方針を模索しました。
どうやってExcel同時編集を可能とするか?
普通、Excel同時編集となると「オンライン版の利用」が思いつきますが、オンライン版だとVBAが使えないため従来のような高度な機能は使えなくなります。
代わりにVBAを利用して同時編集を可能とする仕組みとして、シンプルなテキストファイル(TSV)の連携です。通常のExcelファイル共有では、誰かがファイルを開いていると排他制御がかかり、他のユーザーは編集できません。この課題に対し、Excelファイルそのものをデータベースとするのではなく、日報のデータを高速に読み書きできるTSVファイルとして外部に保存するアイデアを思いつきました。


Excel VBAのコードで、ユーザーの操作に応じてTSVファイルを読み込み、表示し、そして変更があればTSVファイルに書き戻すロジックを構築。これにより、複数のユーザーが同時にExcelシートを操作しながら、実質的には共有のTSVファイルを通じてデータをやり取りし、まるで同時に編集しているかのような環境を実現しました。
このアプローチは、複雑なデータベースシステムを導入するよりもはるかに低コストで、かつ既存のExcel操作に慣れたユーザーにとっても違和感なく利用できるという大きなメリットがあります。お客様の課題の本質を見極め、既成概念にとらわれず、Excel VBAの柔軟性を最大限に活かすことで、今回のバージョンアップは実現しました。
もちろん元となるデータベースのtsvファイルのデータ量が膨大になると今回のような高速な読み書きができずに、操作が不安定になりますが、今回のご依頼の範囲ではそこまで大きなデータ量でなかったために、今回のような仕様で問題を解決できています。
■日報入力集計システムの概要
開発したツールの中身のだいたいの解説図は下記の通りです。
データはすべてダミーです。




ユーザー目線で設計された高機能日報システム
今回のバージョンアップで、ユーザーからのフィードバックに基づいた以下の機能を搭載しています。
読込の速いTSVファイル(※)をデータベースとして活用し、同時編集を可能に:
日報データの保存先として、読み込み速度の速いTSVファイルを採用。複数ユーザーが同時にTSVファイルを参照・上書きできる仕組みをVBAで構築し、同時編集の課題を解決しました。さらに、予期せぬトラブルに備えた自動バックアップ機能と、ストレージの圧迫を防ぐ一定期間経過後のバックアップファイルの自動削除機能も搭載しています。
※TSV (Tab-Separated Values) とは、データをタブ文字で区切って表現するファイル形式のこと
ダブルクリックでチェックの有無を切り替え:
新しい二択項目に対し、セルをダブルクリックするだけでチェックマーク(☑や☐)の表示/非表示を切り替える機能を実装。直感的かつ迅速な入力が可能となり、ユーザーの手間と誤入力を大幅に削減します。
読み込んだ過去データもスムーズに編集可能に:
TSVデータベースから読み込まれた過去の日報データを表示するシートでも、快適に編集作業が行えるよう、VBAによるさまざまな入力補助機能を搭載しました。具体的な機能としては、以前の記事で紹介させていただいた過去の入力履歴やあらかじめ設定された項目から選択できる「候補入力」、1~4桁の数字入力で自動で時刻に変換される「時刻入力」、そして今回紹介したダブルクリックでチェックマークの有無を切り替えられる「チェック有無の切替」などがあります。これにより、過去データの編集も、新規入力と同じくらい手軽に行えます。
■ 結果・導入後の効果
日報作成時間の劇的な短縮
「ファイルが読み取り専用となり入力作業が進められない」という状況が解消
データ管理の柔軟性と信頼性の向上
■ コメント
お客様の「こんな機能がほしい」「この困りごとを解決したい」という声に真摯に耳を傾けます。その中で、必ずしも高額な外部システムを導入することが唯一の解決策ではないと常に考えています。
今回の事例のように、Excel VBAは、データベースの専門知識や高価なソフトウェアがなくても、お客様の業務に深く寄り添い、カスタマイズされた強力なソリューションを提供できる「最強のツール」です。一見、データベースのような高度な機能はExcelでは難しいと思われがちですが、TSVファイルとの連携やVBAでのロジック制御を駆使すれば、驚くほど似た機能、あるいはそれ以上の実用的な機能を安価に、そして迅速に開発できます。
「現状のExcel作業に課題を感じている」「もっと業務を効率化したいけれど、高額なシステム投資は難しい」とお考えのお客様は、ぜひ一度私たちにご相談ください。Excel VBAを活用し、お客様の「こうしたい」を具体的な形にすることで、コストを抑えながらも、業務の生産性と品質を飛躍的に向上させるお手伝いをさせていただきます。

コメント