top of page

​タグ一覧

配列処理(67)

階層化フォーム(33)

ファイル操作(23)

シート・セル操作(11)

コード自動生成(10)

ユーザーフォーム(8)

図形操作(7)

GAS(5)

アニメーション(5)

技術解説(4)

副業(4)

考え方(4)

条件付き書式(4)

イミディエイトウィンドウ(3)

Enum(3)

Googleスプレッドシート(3)

ココナラ(3)

クリップボード(3)

介護(3)

開発効率化(2)

イベントプロシージャ(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Excel(2)

Excel小ネタ(2)

数学(2)

Outlook(2)

文字列操作(2)

小説(2)

HTML(2)

JavaScript(2)

日報(2)

カレンダー(2)

パズル(2)

ステータスバー(1)

コード解析(1)

静的変数(1)

OneDrive(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

六角形(1)

Excel遊び(1)

ボウリング(1)

時計(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

イベント(1)

溶接ロボット(1)

VBA(1)

脱Excel(1)

Discord(1)

ECサイト(1)

CSV(1)

楽天(1)

保育士(1)

シフト表(1)

CDP(1)

楽天市場(1)

経理(1)

javascript(1)

医療(1)

文書作成(1)

LookerStudio(1)

シフト(1)

セキュリティ(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

罫線(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

開発事例(1)

【開発事例】日報入力集計システム バージョンアップ(Excel同時編集)

※掲載している内容・資料は、実際の案件に基づきつつ、個人・企業が特定できないよう内容を一部加工・再構成したものです。守秘義務に配慮し、実際の顧客情報等は一切含まれておりません。


今回の記事は下記記事の次のバージョンで開発を依頼されたものです。


■ 背景と課題

既存のExcelベースのシステム(前回記事)は、初期の運用には適していても、ビジネスの変化やユーザーからの新たな要望に対応しきれない場面が出てきます。今回のお客様からも、前回の記事で納入したシステムに対して、使用していくと以下のような具体的なご要望が寄せられました。

  • 複数人での同時編集の実現(Excel同時編集)

    チームメンバーが同時に日報を作成・編集できるようにしたい。現状では、ファイルを開いている人がいると他のメンバーが待機せざるを得ず、業務のボトルネックとなっていました。


  • 項目の追加への対応

    日報に新たな項目を追加し、それを効率的に選択・入力できるようにしたい。特に二択形式での入力が求められました。


  • データベースに登録したデータの編集・上書き機能

    過去の日報データを参照するだけでなく、必要に応じて修正や上書きができる機能がほしい。これにより、データの正確性を保ち、過去データの柔軟な活用を可能にしたい。

更新

■柔軟な発想とVBAの力で同時編集の突破口を開く

今回お客様から寄せられたご要望、特に「複数人での同時編集」は、Excelの特性上実現が難しい課題です。よくある構築としては高額なデータベースシステムへの移行となりますが、「今回のお客様にとっての困りごとに対しての必要最小限の機能」という視点から解決策として従来のエクセルにおいて同時編集機能を追加する方針を模索しました。


どうやってExcel同時編集を可能とするか?

普通、Excel同時編集となると「オンライン版の利用」が思いつきますが、オンライン版だとVBAが使えないため従来のような高度な機能は使えなくなります。

代わりにVBAを利用して同時編集を可能とする仕組みとして、シンプルなテキストファイル(TSV)の連携です。通常のExcelファイル共有では、誰かがファイルを開いていると排他制御がかかり、他のユーザーは編集できません。この課題に対し、Excelファイルそのものをデータベースとするのではなく、日報のデータを高速に読み書きできるTSVファイルとして外部に保存するアイデアを思いつきました。

旧システム(複数ユーザーが同じExcelファイルを同時編集はできない)
旧システム(複数ユーザーが同じExcelファイルを同時編集はできない)
新システム(データベースのtsvファイルの高速読み書きによって同時編集を可能とする)
新システム(データベースのtsvファイルの高速読み書きによって同時編集を可能とする)

Excel VBAのコードで、ユーザーの操作に応じてTSVファイルを読み込み、表示し、そして変更があればTSVファイルに書き戻すロジックを構築。これにより、複数のユーザーが同時にExcelシートを操作しながら、実質的には共有のTSVファイルを通じてデータをやり取りし、まるで同時に編集しているかのような環境を実現しました。


このアプローチは、複雑なデータベースシステムを導入するよりもはるかに低コストで、かつ既存のExcel操作に慣れたユーザーにとっても違和感なく利用できるという大きなメリットがあります。お客様の課題の本質を見極め、既成概念にとらわれず、Excel VBAの柔軟性を最大限に活かすことで、今回のバージョンアップは実現しました。


もちろん元となるデータベースのtsvファイルのデータ量が膨大になると今回のような高速な読み書きができずに、操作が不安定になりますが、今回のご依頼の範囲ではそこまで大きなデータ量でなかったために、今回のような仕様で問題を解決できています。


■日報入力集計システムの概要

開発したツールの中身のだいたいの解説図は下記の通りです。

データはすべてダミーです。

入力画面(新規日報データの登録・データベースの読込・日報入力集計ファイルの作成を行う)
入力画面(新規日報データの登録・データベースの読込・日報入力集計ファイルの作成を行う)
日報履歴(データベースから読み込んだ日報データの表示・更新・更新データの上書き保存を行う)
日報履歴(データベースから読み込んだ日報データの表示・更新・更新データの上書き保存を行う)
Excelファイル(日報入力集計を行う)とTSVファイル(データベースの代わり)、バックアップフォルダ(データベースのバックアップを保存)
Excelファイル(日報入力集計を行う)とTSVファイル(データベースの代わり)、バックアップフォルダ(データベースのバックアップを保存)
バックアップフォルダ(年月日_時間をファイル名に追加し保存)
バックアップフォルダ(年月日_時間をファイル名に追加し保存)

新規日報データ入力の操作動画(新規追加項目分のみ)


ユーザー目線で設計された高機能日報システム

今回のバージョンアップで、ユーザーからのフィードバックに基づいた以下の機能を搭載しています。

  • 読込の速いTSVファイル(※)をデータベースとして活用し、同時編集を可能に:

    日報データの保存先として、読み込み速度の速いTSVファイルを採用。複数ユーザーが同時にTSVファイルを参照・上書きできる仕組みをVBAで構築し、同時編集の課題を解決しました。さらに、予期せぬトラブルに備えた自動バックアップ機能と、ストレージの圧迫を防ぐ一定期間経過後のバックアップファイルの自動削除機能も搭載しています。

    ※TSV (Tab-Separated Values) とは、データをタブ文字で区切って表現するファイル形式のこと


  • ダブルクリックでチェックの有無を切り替え:

    新しい二択項目に対し、セルをダブルクリックするだけでチェックマーク(☑や☐)の表示/非表示を切り替える機能を実装。直感的かつ迅速な入力が可能となり、ユーザーの手間と誤入力を大幅に削減します。


  • 読み込んだ過去データもスムーズに編集可能に

    TSVデータベースから読み込まれた過去の日報データを表示するシートでも、快適に編集作業が行えるよう、VBAによるさまざまな入力補助機能を搭載しました。具体的な機能としては、以前の記事で紹介させていただいた過去の入力履歴やあらかじめ設定された項目から選択できる「候補入力」、1~4桁の数字入力で自動で時刻に変換される「時刻入力」、そして今回紹介したダブルクリックでチェックマークの有無を切り替えられる「チェック有無の切替」などがあります。これにより、過去データの編集も、新規入力と同じくらい手軽に行えます。


結果・導入後の効果

  • 日報作成時間の劇的な短縮

  • 「ファイルが読み取り専用となり入力作業が進められない」という状況が解消

  • データ管理の柔軟性と信頼性の向上


■ コメント

お客様の「こんな機能がほしい」「この困りごとを解決したい」という声に真摯に耳を傾けます。その中で、必ずしも高額な外部システムを導入することが唯一の解決策ではないと常に考えています。


今回の事例のように、Excel VBAは、データベースの専門知識や高価なソフトウェアがなくても、お客様の業務に深く寄り添い、カスタマイズされた強力なソリューションを提供できる「最強のツール」です。一見、データベースのような高度な機能はExcelでは難しいと思われがちですが、TSVファイルとの連携やVBAでのロジック制御を駆使すれば、驚くほど似た機能、あるいはそれ以上の実用的な機能を安価に、そして迅速に開発できます。


「現状のExcel作業に課題を感じている」「もっと業務を効率化したいけれど、高額なシステム投資は難しい」とお考えのお客様は、ぜひ一度私たちにご相談ください。Excel VBAを活用し、お客様の「こうしたい」を具体的な形にすることで、コストを抑えながらも、業務の生産性と品質を飛躍的に向上させるお手伝いをさせていただきます。

コメント

5つ星のうち0と評価されています。
まだ評価がありません

評価を追加
Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page