「ファイルは使用中」の無力感
ある日の前夜のことです。私は書店で平積みになっていた分厚いAccessの解説本を買い込みました。深夜まで夢中でページをめくっていました。私の頭の中には、すでに美しいデータベースの青写真が広がっていました。これで長年部署を苦しめてきた「手作業のエクセル地獄」から抜け出せるはずです。どこか根拠のない全能感に包まれて、翌朝のオフィスへ向かいました。
自席のパソコンを立ち上げます。いつものようにファイルサーバーの奥深くにあるファイルを探しました。「【最新】全社受注管理システム(ExcelVBA + Access ADO連携)_統合版.xlsx」のアイコンをダブルクリックします。緑色のスプラッシュスクリーンが表示されました。下部のステータスバーは「読み込み中」を示しています。しかし、パーセンテージが途中でピタリと止まってしまいました。
まず、マウスカーソルが青い輪っかに変わります。そのまま画面上で虚しく回転し続けました。嫌な予感が胸をよぎります。数秒の沈黙の後、画面の中央に一つのメッセージが突き付けられました。それはこれまで何百回と見せられてきた、見慣れたグレーの小窓でした。
「ファイルは使用中です」

Excelファイルロックが招く無力な足止め
ダイアログには「〇〇さんがロックしています」という無機質なテキストが表示されています。その瞬間、全身の血の気が引くような脱力感を覚えました。意気揚々と業務改善に乗り出そうとした矢先のことです。あまりにも呆気なく、出鼻を挫かれてしまいました。
次に、みぞおちのあたりがずんと重くなるような感覚を覚えました。今日やろうと思っていた作業の段取りが、脳内で音もなく崩れていきます。別に怒鳴り込む相手がいるわけではありません。ただ、この理不尽な現実を受け入れるしかないのです。どうしようもない無力感だけが、その場に残りました。
たった一人がファイルを開いているだけで、他の全員が足止めを食らってしまいます。これこそが、ファイルサーバー上でExcelを運用する際の最大のボトルネックです。データベースなら当たり前のように「行レベルの排他制御」が備わっています。しかし、表計算ソフトにはそれが存在しません。「ファイル全体」という巨大な単位でしかロックをかけられないのです。その構造的欠陥が、目の前に横たわっていました。
「読み取り専用で開く」か、あるいは「通知」ボタンを押して待つか。どちらを選んだとしても、本来の業務は完全にストップしてしまいます。データ入力という単純な作業すら許されません。ただ画面の前で、誰かがファイルを閉じるのを待つだけです。無価値な時間が始まろうとしていました。
Excelロックと終わらない徒労
一方で、ダイアログに表示される「〇〇さんがロックしています」という名前が正確であればまだ救いがあります。しかし不気味なことに「別のユーザーがロックしています」としか表示されない謎の現象も頻発しました。Excelの古いキャッシュが残っているのかもしれません。あるいはネットワークの瞬断が原因の可能性もあります。理由はわかりません。ただ確かなのは、今すぐ入力を終わらせないと午後の会議に間に合わないという事実だけでした。
ここから、オフィスでの滑稽で泥臭い「犯人探し」が幕を開けます。私は立ち上がり、フロア全体を見渡しました。「すいません。受注管理システム(ExcelVBA + Access ADO連携)を開いている人はいませんかー!?」と声を張り上げます。キーボードを叩く音が響く静かなオフィスで、自分の焦りだけが空回りしていました。誰からも返事はありません。
共有Excelの悪夢
そのため、仕方なく一人ひとりのデスクを回る羽目になります。隣の部署の先輩や、トイレで席を外している後輩の画面をこっそり覗き込みました。ひどい時には、外出してしまった営業担当のPCが原因のこともあります。スリープ状態で鎮座しており、その裏でExcelが開きっぱなしになっていました。本人は悪気など一切ありません。「ちょっと確認したかっただけ」という些細な理由です。それだけで部署全体のデータ更新が停止してしまいます。
誰にも悪意がないことが、余計にやるせなさを募らせます。無言で席を立ち、他人のモニターを覗き込んでまわる自分が酷く滑稽に思えました。しかし怒りをぶつける相手はどこにもいません。胸に湧いてくるのは怒りではなく、静かで深い疲労感でした。
犯人がどうしても見つからない場合や、強制終了させる権限がない場合もあります。そうなると、残された道は一つしかありません。「読み取り専用」ボタンをクリックし、敗北を受け入れることだけでした。
コピペ地獄とデータ破壊の恐怖
しかし、開いたファイルは当然ながら上書き保存ができません。まずは自分の担当部分のデータを入力します。そして「受注管理システム(ExcelVBA + Access ADO連携)_〇〇作業用_一時保存.xlsx」といった歪な名前を付けました。このファイルをローカルのデスクトップに保存します。本番ファイルが空いた隙を狙い、猛スピードで元のファイルを開きます。そこに一時保存したデータをコピー&ペーストするのです。
この無益なルーティンが、1日に何度も繰り返されました。犯人探しとコピペ、そしてデータのズレ確認です。これらを積み上げれば、1日あたり優に45分は超える「待ち時間」になります。本来やるべき業務から、大切な時間が容赦なく差し引かれていきました。
もし、自分がコピペをしている最中に別の誰かが同じことを考えていたらどうなるでしょうか。最悪の場合、行がズレて他人のデータを上書きしてしまうかもしれません。この「終わらない二度手間」と「データ破壊の恐怖」に怯える日々でした。神経をすり減らす作業が、毎日繰り返されていました。
Excelレガシー共有の罠
さらに、「こんな非効率なことをいつまでも続けていられるか」と限界に達しました。私はネットの海を這いずり回り、ついに一つの「解決策」に辿り着きました。それはExcelの「校閲」タブの奥深くに隠された機能でした。「ブックの共有(レガシー)」という名前の機能です。

ダイアログボックスを開きます。「複数のユーザーによる同時編集とブックの結合を許可する」という魔法のようなチェックボックスに印を入れました。OKを押した瞬間です。タイトルバーのファイル名の横に「[共有]」という文字が輝きました。
まずこれで、あの忌まわしい「使用中です」ダイアログから解放されます。複数人で同時にセルを編集し、保存ボタンを押すだけでデータが統合されます。これはまさに革命でした。部署内に「これからは同時編集できます!」と誇らしげにアナウンスした日のことを、今でも鮮明に覚えています。
ですが、それは破滅への入り口に過ぎませんでした。「レガシー(遺物)」という言葉が持つ不吉な意味に、当時の私は気づく由もなかったのです。
VBA・Pythonをもっと本格的に学ぶなら
VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。
共有ブックのデータ消失
悲劇は数日後の金曜夕方に起きました。月末の集計作業が大詰めを迎えていた時間帯のことです。複数の担当者が一斉にデータを入力していました。共有ブックは熱気を帯びています。私は最終確認を終えました。そして、いつものようにCtrl+Sの保存ショートカットキーを叩いたのです。
通常なら、保存処理は一瞬で終わるはずです。しかし、マウスポインタが砂時計に変わったまま一向に戻りません。画面の描画が止まってしまいました。タイトルバーには「(応答なし)」の文字が浮かび上がります。マウスを動かしても反応はありません。PCの冷却ファンだけが、不気味な高音を立てて回り始めました。
祈るような気持ちでモニターを見つめること数分が経ちました。画面全体が白くフェードアウトします。そして無情なエラーダイアログがポップアップしました。
「ファイルが破損しているため、開くことができませんでした」

頭の中が真っ白になりました。強制終了されたExcelを再起動します。震える手でフォルダを開きました。しかし、そこにあるはずのファイルは壊れていました。意味不明な記号が羅列された、文字化けの残骸だけが残されていたのです。バックアップファイルも確認しましたが、なぜか数日前の古い状態でした。
共有ブックは砂上の楼閣、データ消失の罠
その日の午後から積み上げてきたデータが消えました。部署全員の約3時間分の入力内容が、完全に失われたのです。
共有ブックという機能は、内部でそれぞれのユーザーの変更履歴を隠し持っています。そして保存のタイミングで、強引に同期を図るという極めて危うい仕組みで動いていました。誰かが大量の行をコピー&ペーストすると危険です。また、ネットワークが一瞬でも瞬断すれば同期情報の整合性が崩壊します。いとも簡単にファイル全体が道連れになるのです。まさに砂上の楼閣でした。便利さの裏には、データ消失という名の恐怖が隠されていました。
DX時代のExcel共同編集、本質変わらぬ競合
それから時は流れ、物理的なファイルサーバーは撤廃されました。会社はDX(デジタルトランスフォーメーション)の旗印を掲げました。Microsoft 365を導入し、データはすべてSharePointやOneDriveというクラウドの海へと移行されたのです。
「クラウド化」や「リアルタイム共同編集」。IT部門が作成した美しいマニュアルには、甘美な言葉が並んでいました。これで共有ブックの悪夢から完全に解放されるはずです。誰もがそう信じて疑いませんでした。
しかし、現実はどうでしょうか。たしかにファイルの破損という致命的な事態は減りました。複数人が同時にファイルを開くと、画面の右上に同僚のアイコンが並びます。色とりどりのセル選択枠がリアルタイムに飛び交いました。一見すると、近未来的なスマートな働き方に思えます。
ですが、少しでも複雑な操作をしようとすると問題が起きます。途端にクラウドの化けの皮が剥がれてしまうのです。
Excel共有の競合、手動マージの絶望
自分が作業しやすいように列幅を広げたとします。すると、他の全員の画面でも列幅が変わってしまい悲鳴が上がります。特定のデータだけを見ようとフィルターをかけました。すると「他のユーザーの表示も変更しますか?」という警告が出ます。それを無視して進めると、他人が入力中の行が突如として非表示になります。現場はパニックに陥りました。
そして忘れた頃に、ステータスバーにあのアイコンが現れます。不吉な「紫色のアイコン」です。
さらに、「競合が発生しました。変更内容をサーバーと結合できません」というメッセージが出ました。

これはネットワークの遅延や、同じセルへの同時書き込みが発生した瞬間に現れます。現代の死神のような存在です。クリックすると「別のコピーを保存」という無慈悲なボタンが表示されました。結局のところ、手元には別名のファイルが生成されます。「受注管理システム(ExcelVBA + Access ADO連携)_デスクトップPC名.xlsx」という無残な残骸です。
Excelをデータベース代用する過ちと変わらぬ手作業
「これで未来の働き方になる」と信じていました。しかし結局は、コピーファイルと元ファイルを2つの画面に並べて目視で比較する状況です。セルの値を一つずつ確認しながら、手動でマージしていく作業を行いました。これは10年以上前と何が変わったのでしょうか。この虚無感は、深い痛みとなりました。ファイルが破損した時の絶望に次ぐ、静かな苦しみでした。
技術が変わっても、本質は全く変わっていませんでした。競合という名のエラーに怯える日々です。最後は人間の手で、データの整合性を担保しなければならないのです。
なぜこうなるのでしょうか。理由は一つしかありません。「Excelという表計算ソフトを、データベースの代用品として使っているから」です。本来は複数人での同時書き込みを行うためのツールではありません。その本質的な過ちに蓋をしたまま、クラウドという表面的な処置をしただけでした。根の部分の出血は、まったく止まっていなかったのです。
絶望の底からの完全自動化への狂気
3時間の作業が虚空に消えた日の帰り道のことです。私は疲労で重い足を引きずりながら、暗い夜道を歩いていました。
誰かがファイルを開いているかどうかで、自分の帰宅時間が決まります。他人の気まぐれな操作一つで、部署全員の努力が一瞬にして水の泡になります。こんな不条理なシステムの上で、あと何年も働き続けるのかと考えました。
手作業によるマージや、目視によるデータチェック。そしていつ壊れるともしれない共有ファイルへの恐怖。これらを根絶しなければなりません。小手先の運用ルールやクラウドへの移行では不十分でした。
「データそのもの」と「人間が操作するインターフェース」を完全に分離する必要があります。人間が直接ファイルに触れるから競合が起きるのです。ならば、裏側に強固なデータベースを構築すればよいと考えました。Excelは単なる「データを表示・入力するための窓」に格下げするのです。
VBAを使って、背後のデータベースにこっそりと接続します。SQLで必要なデータだけを引っ張ってきました。書き込む時は一瞬で処理を終わらせます。誰にも邪魔させず、誰の邪魔もしない、堅牢なシステムを目指しました。
絶望からの完全自動化戦略
前夜に読みふけったAccessの本の知識が役に立ちました。ここに来て、強烈なリアリティを持って蘇ってきました。これはただの自己満足の勉強ではありません。私、そして部署の生存戦略だったのです。
あの「ファイルは使用中です」というダイアログへの憎悪がありました。共有ブックが崩壊した瞬間の、心臓が凍りつくような記憶もあります。
この強烈な「痛み」があったからこそ、私は進むことができました。VBAによるデータベース接続、そしてPythonという強力な武器。これらを用いた「完全自動化」への道へ、背中を蹴り飛ばされるように進みました。妥協を許さない、不労所得システム構築という狂気への第一歩です。それはまさに、この絶望の底から始まったのです。
関連リンクとチェックリスト
無料プレゼント
Excel業務を自動化する前に確認するチェックリスト(PDF)
自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。
無料でチェックリストを受け取る¥980 ミニキット
コピペで動かせる3スクリプト+自動化チェックリスト
最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。
ミニキットを見る(¥980)著者はこうして解決の糸口を見つけた
著者も同じ境遇から始まりました。独学でここまで自動化した道のりを参考にしてみてください。
学習サービスとアンケート
このスキルを活かしてさらに前へ進むなら
Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

