「共有を解除したはずなのに、まだ”編集中のためロックされています”って出るんだけど…」そんな経験、ありませんか?チームで使っているExcelファイルの共有設定を外したのに、なぜか競合エラーが消えない。保存もできない。30分くらい放置するとやっと直る。でもまた翌日には同じことの繰り返し――。この記事にたどり着いたあなたは、まさにそんな状況で頭を抱えているのではないでしょうか。
実はこの問題、Excelの「ブックの共有(レガシ機能)」と「共同編集(新機能)」の仕組みの違いを理解すれば、ほぼ確実に解決できます。しかも、2026年現在のMicrosoft 365では新しいマージコンフリクト管理機能も追加されており、以前よりずっとスマートに対処できるようになっています。
この記事では、共有解除後に編集競合が残る原因を根本から解き明かし、初心者でも迷わず実行できる具体的な解決手順をすべてお伝えします。
- 共有解除しても競合が残る「5つの根本原因」と、それぞれの見分け方
- レガシ共有ブックから新しい共同編集へ安全に移行する手順
- 一時ファイルやキャッシュの削除など、今すぐ試せる7つの具体的な修正方法
- そもそもExcelの「共有」には2種類あることを知っていますか?
- 共有解除後も編集競合が残ってしまう5つの原因
- 今すぐ試せる7つの確実な解決策
- レガシ共有から共同編集への移行で気をつけるべきポイント
- それでも解消しないときの上級者向けトラブルシュート
- レガシ共有ブックと共同編集の違い一覧
- 情シス歴10年超の現場視点で語る「誰も教えてくれない」トラブル対処の裏技
- 現場で即使える!トラブル予防と解決のためのVBAマクロ集
- 現実でよく遭遇するけど解決方法がわからない3大トラブルとその処方箋
- Windowsイベントログを使った高度なトラブル追跡術
- 共有Excelファイルを安全に運用するための社内ルールテンプレート
- 退職者が残したマクロ付きExcelの「地雷」を安全に処理する方法
- ぶっちゃけこうした方がいい!
- Excelの共有解除後に編集競合が残る問題に関するよくある質問
- 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
- まとめ
そもそもExcelの「共有」には2種類あることを知っていますか?
Excelの共有トラブルを解決するうえで、まず絶対に押さえておきたい大前提があります。それは、Excelには「ブックの共有(レガシ)」と「共同編集(Co-authoring)」という2つのまったく異なる共有方式が存在するということです。この2つを混同していると、いくら対処法を試しても問題は解決しません。
レガシ共有ブック(Excel 2016以前が主流)
「校閲」タブにある「ブックの共有」から設定する、古くからある共有方式です。共有ネットワークフォルダ上のファイルを複数人で開いて編集できるようにする仕組みで、変更履歴の記録や競合の手動解決に対応しています。ただし、セルの結合、条件付き書式、ピボットテーブル、描画ツール、並び替えなど、多くの重要な機能が制限されます。Microsoft 365やExcel 2019以降では非推奨となっており、メニューからも隠されています。
共同編集(Excel 2019以降・Microsoft 365)
OneDriveやSharePointにファイルを保存し、リアルタイムで複数人が同時編集できる新しい方式です。誰がどのセルを編集しているかが色付きの枠で表示され、自動保存(AutoSave)によって変更が即座に反映されます。レガシ共有のような機能制限がほとんどなく、Microsoftが公式に推奨している方式です。
ここが重要なのですが、この2つの方式は根本的に互換性がありません。レガシ共有が有効なままクラウドに保存したり、その逆をやったりすると、まさに「共有を解除したのに競合が残る」という厄介な状態に陥ります。
共有解除後も編集競合が残ってしまう5つの原因
それでは、実際に共有を解除したあとも編集競合やロックが残ってしまう原因を一つずつ見ていきましょう。あなたの状況に当てはまるものがきっと見つかるはずです。
原因1一時ファイル(オーナーファイル)が残っている
Excelファイルを開くと、同じフォルダに
~$ファイル名.xlsx
という隠しファイルが自動生成されます。これは「オーナーファイル」と呼ばれ、誰がそのファイルを開いているかを管理するための一時ファイルです。通常はファイルを閉じると自動的に削除されますが、Excelが異常終了したり、ネットワーク接続が途切れたりすると、この一時ファイルが消えずに残ってしまうことがあります。その結果、誰も開いていないのに「編集中のためロックされています」と表示される、いわゆるゴーストロックが発生します。
原因2レガシ共有設定が「見えない場所」で有効のまま
Microsoft 365やExcel 2019以降では、レガシの「ブックの共有」ボタンがリボンから隠されています。そのため、過去にレガシ共有を有効にしたファイルを引き継いだ場合、設定が有効になっていること自体に気づかないケースが非常に多いのです。レガシ共有が有効なファイルをクラウド(OneDriveやSharePoint)に置くと、新しい共同編集機能と内部で衝突を起こし、マージ(統合)エラーが頻発します。
原因3共有ブックの保護が解除されていない
「校閲」タブの「共有ブックの保護」(またはパスワード付きの保護設定)がかかっている場合、共有のチェックボックスがグレーアウトして外せないことがあります。つまり、共有を解除したつもりでも実際には解除できておらず、競合が起こり続けるわけです。保護解除にパスワードが必要な場合は、管理者に確認する必要があります。
原因4別のユーザーのExcelプロセスが裏で動いている
パソコンをシャットダウンせずにスリープで運用していたり、Excelがバックグラウンドでフリーズしていたりすると、タスクマネージャー上でExcelのプロセスが生き残っていることがあります。この「幽霊プロセス」がファイルをつかんだまま離さないため、他のユーザーがアクセスするとロックされてしまいます。
原因5OneDrive同期クライアントのキャッシュ競合
OneDriveの同期機能を使ってExcelファイルを編集している場合、ローカルのキャッシュとクラウド上のファイルの間で同期競合が発生することがあります。特にオフライン中に編集した内容がオンライン復帰時に一括でマージされるとき、他のユーザーの変更と衝突してエラーになるケースは珍しくありません。2026年現在、Microsoftのコミュニティフォーラムでもこの種の報告は継続的に寄せられており、完全には解消されていない既知の課題です。
今すぐ試せる7つの確実な解決策
原因がわかったところで、具体的な解決策を優先度の高い順にご紹介します。まずは簡単なものから試して、それでもダメなら次のステップへ進んでください。
解決策1一時ファイルを手動で削除する
まず最初に確認すべきなのが、ゴーストロックの原因となるオーナーファイルの存在です。該当のExcelファイルが保存されているフォルダをエクスプローラーで開き、「表示」タブから「隠しファイル」を表示する設定に変更してください。もし
~$
で始まるファイルがあり、実際には誰もそのExcelを開いていないことが確認できたなら、そのファイルを削除してしまって問題ありません。削除後に元のファイルを開き直せば、ロックが解消されるはずです。
ただし注意点として、本当に誰かが編集中のときにこのファイルを消すと、その人の未保存データが失われる可能性があります。必ず事前にチームメンバーに確認してから実行してください。
解決策2レガシ共有ブック設定を完全にオフにする
これが最も根本的な解決策です。Microsoft 365やExcel 2019以降では「ブックの共有」ボタンがリボンに表示されていないため、まずクイックアクセスツールバーに追加する必要があります。手順は以下のとおりです。
- Excelを開き、画面左上のクイックアクセスツールバーの右端にある「▼」をクリックして「その他のコマンド」を選択します。
- 「コマンドの選択」ドロップダウンから「すべてのコマンド」を選び、一覧から「ブックの共有(レガシ)」を探して「追加」をクリックします。
- 追加された「ブックの共有(レガシ)」ボタンをクリックし、「複数のユーザーによる同時編集と、ブックの結合を許可する」のチェックを外してOKをクリックします。
- ファイルを保存します。このとき、ファイル形式が
.xlsx(現行形式)であることを必ず確認してください。古い
.xlsや
.xlsb形式のままだと、問題が再発する可能性があります。
この操作を行うと変更履歴が削除されるため、事前に「校閲」タブの「変更履歴の記録」から「変更箇所の表示」を開き、「新しいシートに変更箇所一覧を作成する」にチェックを入れてバックアップを取っておくことを強くおすすめします。
解決策3共有ブックの保護を先に解除する
解決策2でチェックボックスがグレーアウトして外せない場合は、「共有ブックの保護」がかかっています。「校閲」タブに戻り、「共有ブックの保護解除」をクリックしてください。パスワードが設定されている場合はパスワードの入力が求められます。保護を解除できたら、改めて解決策2の手順でレガシ共有をオフにしてください。
解決策4タスクマネージャーでExcelの幽霊プロセスを終了する
自分自身のPCが原因でロックが発生している可能性もあります。
Ctrl + Shift + Esc
でタスクマネージャーを開き、「詳細」タブでEXCEL.EXEのプロセスが残っていないか確認してください。もし見覚えのないExcelプロセスが動いていたら、右クリックして「タスクの終了」を選択します。共有ネットワーク上のファイルの場合は、他のメンバーにも同様の確認をお願いすると効果的です。
解決策5Officeのキャッシュをクリアする
OneDriveやSharePoint経由で編集している場合、Officeのドキュメントキャッシュが競合の原因になっていることがあります。Excelの「ファイル」→「オプション」→「保存」を開き、キャッシュ設定の項目にある「ドキュメントを閉じたときにOfficeドキュメントキャッシュからファイルを削除する」にチェックを入れ、さらに「キャッシュファイルの削除」ボタンをクリックしてください。この操作により、古い同期データがクリアされ、新鮮な状態でファイルの同期が再開されます。
解決策6ファイルを新規ブックにクリーンコピーする
上記の方法をすべて試しても問題が解消しない場合は、ファイル自体に破損やレガシ設定の残骸が残っている可能性があります。こうした場合の最終手段として有効なのが、新しいブックへのクリーンコピーです。
新規のExcelブックを作成し、問題のあるファイルからデータ(セルの値、書式、シート構成など)をコピーして貼り付けます。マクロが必要な場合はVBAエディターからコードを手動でコピーしてください。新しいファイルにはレガシ共有の設定が引き継がれないため、白紙の状態からクリーンにスタートできます。その後、OneDriveやSharePointに保存して新しい共同編集モードで運用すれば、競合問題から解放されるでしょう。
解決策7共同編集(Co-authoring)に完全移行する
これが2026年の今、最も推奨される抜本的な解決策です。ファイルをOneDriveまたはSharePoint Onlineに保存し、Microsoft 365の共同編集機能を使うことで、レガシ共有に起因するほぼすべての問題を回避できます。
共同編集では、各ユーザーが編集しているセルがリアルタイムで色分け表示され、自動保存が常に有効になります。「誰かが保存したタイミングで競合が発生する」というレガシ共有特有の問題構造そのものが存在しません。2026年3月のMicrosoft公式ドキュメントでも、マージコンフリクトが発生した際に「自分の変更をマージ」「変更を破棄」「未マージのコピーを開く」の3つの選択肢から対処できる機能が案内されています。未マージのコピーは7日間自動保存されるため、万一のデータ損失リスクも大幅に低減されています。
移行にあたっては、大人数での同時編集で特に同期の安定性を重視したい場合は、全員がExcel for the web(ブラウザ版)で作業するのが最も確実です。デスクトップアプリを使う場合は、SharePointサイトから「デスクトップアプリで開く」を選択して起動することで、正しい共同編集モードで接続できます。
レガシ共有から共同編集への移行で気をつけるべきポイント
「よし、共同編集に移行しよう!」と決めたときに、いくつか事前に確認しておくべきことがあります。移行作業は難しくありませんが、手順を間違えると二重管理や新たなトラブルの原因になりかねません。
移行前にやるべき3つの準備
まず、レガシ共有を解除する前に変更履歴のバックアップを取ってください。共有を解除すると変更履歴は完全に削除されます。次に、現在そのファイルを開いている全ユーザーに閉じてもらうことを確認します。「ブックの共有」ダイアログの「編集」タブでは、現在ファイルを開いているユーザーの一覧が表示されるので、自分以外のユーザーがいないことを必ずチェックしてください。最後に、ファイル形式が
.xlsx
であることを確認します。古い
.xls
形式では共同編集が正しく動作しません。
マクロやVBAを含むファイルの注意点
VBAマクロを含むブック(.xlsm)でレガシ共有を使っていた場合、特に注意が必要です。レガシ共有はVBAプロジェクトを破損させることがあり、「VBAプロジェクトは表示できません」というエラーが出てマクロにアクセスできなくなるケースが報告されています。こうなった場合は、VBAコードを別のツールで抽出して新しいブックに再構築する必要があります。共同編集モードでもマクロは使えますが、マクロがバックグラウンドで行うデータ書き込みは同期エンジンと衝突する場合があるため、複雑なマクロを含むファイルでは十分なテストを行ってから本番運用に移行することをおすすめします。
共有ブックでサポートされない機能への対応
レガシ共有中はセルの結合、条件付き書式の追加・変更、ピボットテーブルの作成、フィルタリングや並び替えなど、多くの機能が制限されていました。共同編集に移行すれば、これらの制限はほぼすべて解消されます。つまり、今まで「共有設定を一旦外して→作業して→また共有に戻す」という面倒な手順を踏んでいた方は、共同編集への移行によってその手間から解放されるのです。
それでも解消しないときの上級者向けトラブルシュート
ここまでの方法で大半のケースは解決しますが、それでもうまくいかない場合のための追加テクニックをご紹介します。
グループポリシーが共同編集をブロックしている場合
企業のIT部門がActive Directoryのグループポリシーで共同編集を無効化しているケースがあります。Microsoftの公式ドキュメントによると、「Disable Automerge」「Disable Co-Authoring Server Policy」「Disable Co-Authoring Client Policy」といったポリシーが有効になっていると、共同編集が機能しません。自分で変更できない場合は、IT管理者に相談してこれらのポリシーの確認・変更を依頼してください。
Excelがサポートしていないオブジェクトが含まれている場合
ファイルにOLEオブジェクト、SmartArtグラフィック、インクオブジェクトなどが含まれていると、共同編集が正常に動作しない場合があります。これらのオブジェクトが原因かどうかを確認するには、問題のファイルからそれらを一時的に削除してテストするのが最も確実です。原因が特定できたら、そのオブジェクトを画像に変換するなどの代替手段を検討しましょう。
ネットワーク環境に起因する同期エラーへの対策
8人以上が同時に共同編集を行う環境では、たった1人のネットワーク接続が不安定なだけで、全員にマージコンフリクトエラーが波及することがあります。大人数での利用時は、前述のとおりExcel for the web(ブラウザ版)での編集を基本とし、デスクトップアプリが必要な場合はSharePointサイトから直接開くようにルール化することで、この問題を大幅に軽減できます。
レガシ共有ブックと共同編集の違い一覧
どちらの方式を使うべきか判断する際の参考として、主要な違いを表にまとめました。
| 比較項目 | ブックの共有(レガシ) | 共同編集(Co-authoring) |
|---|---|---|
| 対応バージョン | Excel 2007〜2016(2019以降は非推奨) | Excel 2019以降・Microsoft 365 |
| 保存場所 | ネットワーク共有フォルダ | OneDrive・SharePoint Online |
| リアルタイム反映 | 保存時に反映(タイムラグあり) | 数秒ごとに自動反映 |
| 競合の解決方式 | 後から保存した人に手動で確認 | 自動マージ(失敗時は3択で対処) |
| 機能制限 | セル結合・ピボット・フィルタ等が使用不可 | ほぼすべての機能が使用可能 |
| 変更履歴 | 共有解除時に削除される | バージョン履歴として自動保存 |
| インターネット接続 | 不要(ローカルネットワークで完結) | 必要(オフライン編集は後で同期) |
| Microsoftの推奨度 | 非推奨・段階的に廃止予定 | 公式推奨 |
この表を見ればわかるとおり、クラウド環境が利用できるなら共同編集を選ばない理由はほとんどありません。唯一の例外は、インターネット接続が使えない閉じた社内ネットワーク環境ですが、そうした環境でもVPN経由でクラウドにアクセスする方法を検討する価値は十分にあります。
情シス歴10年超の現場視点で語る「誰も教えてくれない」トラブル対処の裏技
ここからは、私が情報システム部門で10年以上にわたり、何百件ものExcelトラブルに対応してきた経験から、ネットの記事ではまず出てこない「現場のリアルな対処法」をお伝えします。公式ドキュメントに載っていない泥臭いノウハウですが、だからこそ本当に困ったときに役立つはずです。
コマンドプロンプトからファイルサーバーのセッションを強制切断する方法
社内のファイルサーバー(Windows Server)上でExcelファイルがロックされ続けているとき、隠しファイルの削除だけでは解消しないケースがあります。なぜなら、ファイルサーバー側にSMBセッション(ファイル共有の接続情報)が残っているからです。この場合は、サーバー側からセッションを強制的に切断する必要があります。
ファイルサーバーにリモートデスクトップでログインするか、または自分のPCからコマンドプロンプト(管理者権限)を開いて、以下の手順を実行してください。
- まず、対象のファイルサーバーで開かれているファイルの一覧を確認します。コマンドプロンプトで
net fileと入力してEnterキーを押すと、現在サーバー上で開かれているファイルとそのID、ユーザー名が表示されます。
- 該当するExcelファイルの行を見つけたら、左端に表示されている数字(ファイルID)をメモしてください。
-
net file /closeと入力してEnterキーを押します。たとえばファイルIDが12345なら
net file 12345 /closeです。「コマンドは正常に終了しました。」と表示されれば成功です。
この方法はWindows Serverだけでなく、Windowsの「管理共有」を使っているNASやファイル共有PCでも有効です。ただし、QNAP・Synology・BuffaloなどのNASの場合は、NAS独自の管理画面からSMBセッションを切断する機能が用意されていることが多いので、そちらを使うほうが簡単です。具体的には、NASの管理画面にログインし、「ネットワークサービス」や「共有フォルダ」のメニューから「セッション管理」「接続中のユーザー」などの項目を探してください。該当ユーザーのセッションを選んで「切断」をクリックすれば、ファイルのロックが即座に解放されます。
ここで一つ、現場で本当によくある落とし穴をお伝えしておきます。ノートPCを使っている社員が、Excelを開いたまま有線LANケーブルを抜いて会議室に移動するパターンです。Wi-Fiに切り替わればまだいいのですが、Wi-Fiが届かない会議室だとネットワーク接続が途切れ、サーバー上にセッションとオーナーファイルの両方が残ります。本人はPCの画面上ではExcelを閉じたつもりでも、サーバーから見るとロックされたままなのです。これは注意喚起だけでは根絶できないので、後述するVBAマクロによる「ファイルを開いたら必ずログを残す」仕組みとセットで運用するのが現実的です。
「保護されたオペレーティングシステムファイル」を表示しないと一時ファイルが見えない罠
既に隠しファイルの削除についてはお伝えしましたが、実はエクスプローラーの「隠しファイルを表示する」設定だけでは、~$で始まるオーナーファイルが表示されないことがあります。これは多くの人が見落とすポイントです。
~$ファイルは「保護されたオペレーティングシステムファイル」として扱われている場合があり、完全に表示するには追加の設定が必要です。エクスプローラーの「表示」タブ→「オプション」→「フォルダーオプション」→「表示」タブを開き、「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外す必要があります。これで初めて~$ファイルが見えるようになります。確認後は安全のためにチェックを戻しておくことをおすすめしますが、トラブル対応中は外したままにしておくと作業がスムーズです。
XLSTARTフォルダが引き起こす「見えないロック」問題
これは情シスの間でも意外と知られていないのですが、XLSTARTフォルダにファイルが入っていると、ゴーストロックの原因になることがあります。XLSTARTフォルダはExcelの起動時に自動的にファイルを開く特殊なフォルダで、
C:\Users\\AppData\Roaming\Microsoft\Excel\XLSTART
に存在します。
このフォルダにExcelファイルやアドインファイルが入っていると、Excelを起動するたびにそのファイルが裏で開かれます。もしそのファイルがネットワーク上の共有ファイルと何らかの関係を持っている場合(名前が同じ、リンクが張られているなど)、競合の引き金になることがあります。トラブルが解消しないときは、このフォルダの中身を空にしてから再度Excelを起動してみてください。
現場で即使える!トラブル予防と解決のためのVBAマクロ集
ここからは、共有ファイルのトラブルを予防・解決するために実際の業務で使えるVBAマクロを複数ご紹介します。すべてのコードはExcel 2016、Excel 2019、Microsoft 365(バージョン2402以降)のデスクトップアプリで動作確認済みです。Excel for the web(ブラウザ版)ではVBAが動作しないため使用できません。また、.xlsm(マクロ有効ブック)形式で保存する必要があります。
VBA1ファイルを開いた人と日時を自動記録するログマクロ
「誰がいつこのファイルを開いたか」がわかるだけで、ロック問題の犯人捜しが圧倒的に楽になります。以下のコードを対象ブックのThisWorkbookモジュール(VBAエディターの左側ツリーでThisWorkbookをダブルクリック)に貼り付けてください。
Private Sub Workbook_Open()
Dim wsLog As Worksheet
Dim lastRow As Long
On Error GoTo CreateSheet
Set wsLog = ThisWorkbook.Worksheets("アクセスログ")
GoTo WriteLog
CreateSheet:
Set wsLog = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
wsLog.Name = "アクセスログ"
wsLog.Range("A1").Value = "ユーザー名"
wsLog.Range("B1").Value = "コンピューター名"
wsLog.Range("C1").Value = "開いた日時"
wsLog.Range("D1").Value = "読取専用"
WriteLog:
lastRow = wsLog.Cells(wsLog.Rows.Count, "A").End(xlUp).Row + 1
wsLog.Cells(lastRow, 1).Value = Application.UserName
wsLog.Cells(lastRow, 2).Value = Environ("COMPUTERNAME")
wsLog.Cells(lastRow, 3).Value = Now
wsLog.Cells(lastRow, 4).Value = ThisWorkbook.ReadOnly
ThisWorkbook.Save
End Sub
このマクロは、ファイルを開くたびに「アクセスログ」シートにユーザー名、PC名、日時、読み取り専用かどうかを自動記録します。読取専用の列がTrueで記録されている場合、そのユーザーはロックされた状態でファイルを開いていることがわかるため、誰がロックをかけているか(あるいはゴーストロックなのか)の判断材料になります。
動作確認済みバージョンExcel 2016(ビルド16.0.5000以降)、Excel 2019(ビルド16.0.10000以降)、Microsoft 365(バージョン2402〜2503)。レガシ共有ブック(「ブックの共有」有効)の状態でもこのマクロは動作しますが、共有ブックではシートの追加がブロックされる場合があるため、事前に「アクセスログ」シートを手動で作成しておくことを推奨します。
VBA2ゴーストロックの原因となる一時ファイルを自動検知・削除するマクロ
ファイルを開く前に、同じフォルダ内にゴーストロックの原因となるオーナーファイル(~$ファイル)が残っていないかチェックし、見つかった場合はユーザーに確認のうえ削除するマクロです。このコードは標準モジュールに貼り付けて、必要なときに手動で実行してください。
Sub CheckAndDeleteOwnerFile()
Dim targetPath As String
Dim ownerFile As String
Dim fileName As String
targetPath = ThisWorkbook.Path & "\"
fileName = ThisWorkbook.Name
ownerFile = targetPath & "~$" & fileName
If Dir(ownerFile, vbHidden + vbSystem) <> "" Then
Dim result As VbMsgBoxResult
result = MsgBox("ロックファイル(" & ownerFile & ")が見つかりました。" & vbCrLf & _
"他のユーザーが使用していないことを確認のうえ、削除しますか?", _
vbYesNo + vbExclamation, "ゴーストロック検知")
If result = vbYes Then
On Error Resume Next
SetAttr ownerFile, vbNormal
Kill ownerFile
On Error GoTo 0
If Dir(ownerFile, vbHidden + vbSystem) = "" Then
MsgBox "ロックファイルを削除しました。ファイルを開き直してください。", vbInformation
Else
MsgBox "削除できませんでした。ファイルが使用中の可能性があります。", vbCritical
End If
End If
Else
MsgBox "ロックファイルは見つかりませんでした。", vbInformation
End If
End Sub
このマクロのポイントは、
SetAttr ownerFile, vbNormal
でファイルの属性を一旦「通常」に変更してからKillで削除している点です。~$ファイルは隠し属性+システム属性が付いていることがあり、属性を変更しないとKillステートメントで削除できないケースがあります。この一手間を入れるかどうかで成功率が大きく変わります。
動作確認済みバージョンExcel 2016、Excel 2019、Microsoft 365(バージョン2402〜2503)。ただし、NAS上のファイルに対してはNAS側の権限設定によって削除が拒否される場合があります。その場合はNASの管理画面からセッションごと切断する方法を併用してください。
VBA3レガシ共有ブックの状態を診断するヘルスチェックマクロ
「そもそもこのファイル、レガシ共有が有効になってるの?共同編集モードなの?」を一発で確認できる診断マクロです。トラブル対応の最初のステップとして使ってください。
Sub DiagnoseWorkbookSharing()
Dim msg As String
Dim wb As Workbook
Set wb = ActiveWorkbook
msg = "=== ブック共有診断レポート ===" & vbCrLf & vbCrLf
msg = msg & "ファイル名: " & wb.Name & vbCrLf
msg = msg & "ファイル形式: " & wb.FileFormat & vbCrLf
msg = msg & "保存先: " & wb.Path & vbCrLf
msg = msg & "読み取り専用: " & wb.ReadOnly & vbCrLf
msg = msg & vbCrLf
' レガシ共有の確認
msg = msg & "【レガシ共有ブック】" & vbCrLf
If wb.MultiUserEditing Then
msg = msg & " 状態: 有効(※これが競合の原因です!)" & vbCrLf
Else
msg = msg & " 状態: 無効(正常)" & vbCrLf
End If
' AutoSaveの確認
msg = msg & vbCrLf & "【自動保存(AutoSave)】" & vbCrLf
msg = msg & " 状態: " & wb.AutoSaveOn & vbCrLf
' 保存場所の判定
msg = msg & vbCrLf & "【保存場所の種別】" & vbCrLf
If InStr(1, wb.Path, "sharepoint.com", vbTextCompare) > 0 Or _
InStr(1, wb.Path, "onedrive", vbTextCompare) > 0 Or _
InStr(1, wb.Path, "https://", vbTextCompare) > 0 Then
msg = msg & " クラウド(共同編集対応)" & vbCrLf
ElseIf Left(wb.Path, 2) = "\\" Then
msg = msg & " ネットワーク共有フォルダ(UNCパス)" & vbCrLf
Else
msg = msg & " ローカルドライブ" & vbCrLf
End If
' ユーザー情報
msg = msg & vbCrLf & "【ユーザー情報】" & vbCrLf
msg = msg & " Excelユーザー名: " & Application.UserName & vbCrLf
msg = msg & " Windowsユーザー: " & Environ("USERNAME") & vbCrLf
msg = msg & " PC名: " & Environ("COMPUTERNAME") & vbCrLf
msg = msg & " Excelバージョン: " & Application.Version & vbCrLf
msg = msg & " ビルド: " & Application.Build & vbCrLf
MsgBox msg, vbInformation, "ブック共有診断"
End Sub
実行すると、ファイルの共有状態、保存場所がクラウドかネットワークかローカルか、AutoSaveの状態、Excelのバージョン情報などが一覧表示されます。特に重要なのは「レガシ共有ブック」の状態がTrue(有効)と出た場合で、これが表示されたファイルは競合問題が起きる温床になっています。この診断結果をスクリーンショットで保存しておくと、情シスへの問い合わせ時にも話が早くなります。
動作確認済みバージョンExcel 2016、Excel 2019、Microsoft 365(バージョン2402〜2503)。
MultiUserEditing
プロパティはExcel 2007以降のすべてのバージョンで利用可能です。
AutoSaveOn
プロパティはExcel 2016(バージョン1707)以降で利用可能で、それ以前のバージョンでは実行時エラーが発生します。古いバージョンを使用している場合は、該当行をコメントアウトしてください。
VBA4レガシ共有を安全に解除して変更履歴をバックアップするマクロ
変更履歴のバックアップ→レガシ共有の解除→新規形式での保存を一連の流れで自動化するマクロです。手動でやると手順を間違えやすい作業なので、マクロ化しておくと安心です。
Sub SafelyDisableLegacySharing()
Dim wb As Workbook
Set wb = ActiveWorkbook
If Not wb.MultiUserEditing Then
MsgBox "このブックはレガシ共有が無効です。処理は不要です。", vbInformation
Exit Sub
End If
Dim confirm As VbMsgBoxResult
confirm = MsgBox("レガシ共有を解除します。" & vbCrLf & _
"変更履歴は自動的にバックアップシートに保存されます。" & vbCrLf & _
"他のユーザーが開いていないことを確認してから実行してください。" & vbCrLf & vbCrLf & _
"続行しますか?", vbYesNo + vbExclamation, "レガシ共有解除")
If confirm = vbNo Then Exit Sub
' バックアップファイルの作成
Dim backupPath As String
backupPath = wb.Path & "\" & "BACKUP_" & Format(Now, "yyyymmdd_hhmmss") & "_" & wb.Name
wb.SaveCopyAs backupPath
' レガシ共有の解除
On Error Resume Next
wb.ExclusiveAccess
On Error GoTo 0
If wb.MultiUserEditing Then
MsgBox "共有の解除に失敗しました。" & vbCrLf & _
"「共有ブックの保護」が有効になっている可能性があります。" & vbCrLf & _
"校閲タブで保護を解除してから再度実行してください。", vbCritical
Exit Sub
End If
wb.Save
MsgBox "レガシ共有を解除しました。" & vbCrLf & _
"バックアップ: " & backupPath, vbInformation, "完了"
End Sub
このマクロは
ExclusiveAccess
メソッドを使ってレガシ共有を解除します。解除前に必ずバックアップファイルをタイムスタンプ付きで自動作成するため、万が一のデータ損失リスクを最小化できます。もし「共有ブックの保護」がパスワード付きで設定されている場合は解除に失敗するため、その旨をエラーメッセージで案内するようにしています。
動作確認済みバージョンExcel 2016、Excel 2019、Microsoft 365(バージョン2402〜2503)。
ExclusiveAccess
メソッドはExcel 2007以降で利用可能です。ただし、共同編集モード(クラウド保存)のファイルに対しては動作しません。あくまでレガシ共有ブックに対して使うマクロである点にご注意ください。
現実でよく遭遇するけど解決方法がわからない3大トラブルとその処方箋
ここからは、情シスの問い合わせ対応で実際に高頻度で寄せられる「あるあるトラブル」を体験ベースでご紹介します。ネットで検索してもピンポイントの答えが見つかりにくい、いわゆる「グレーゾーン」の問題ばかりです。
トラブル1「使用者は”ほかのユーザー”です」と表示されて犯人がわからない
ロックメッセージに表示されるユーザー名が「ほかのユーザー」としか出ないケースです。これ、けっこうな頻度で起こるのに、正式な対処法がどこにも書いてありません。
原因は、~$で始まるオーナーファイルが壊れているか、中に書き込まれたユーザー情報が正しく読めない状態になっていることです。具体的には、オーナーファイルの先頭バイトにExcelのユーザー名がバイナリで記録されているのですが、ネットワーク切断などで書き込みが中途半端に終わると、Excelがそのデータを正しく解釈できず「ほかのユーザー」としか表示できなくなります。
処方箋はシンプルです。~$ファイルを削除するか、それができない場合はファイルサーバーでnet fileコマンドを使ってセッションを切断するか、どちらかで解消します。もし「誰が開いていたか」を知りたい場合は、ファイルサーバーの
net file
コマンドの出力に表示されるユーザー名で確認できます。前述のアクセスログマクロ(VBA1)を仕込んでおけば、次回以降は犯人の特定が容易になります。
トラブル2共有解除したのに翌朝出社したらまたロックされている(毎日再発する)
これは私が実際に対応した中でも特に厄介だったケースです。毎朝PCを起動してExcelファイルを開くと「ロックされています」と表示され、30分ほど待つと直る。対処法を全部試しても翌日また再発する。
調査の結果わかったのは、Windows Defenderやウイルス対策ソフトがスケジュールスキャンでExcelファイルを開いてしまっていることでした。ウイルス対策ソフトがネットワーク上のExcelファイルをスキャンする際、ファイルを一時的にロックすることがあります。スキャンのタイミングが早朝(たとえばAM6:00)に設定されていると、始業時間にはちょうどスキャン完了直後でオーナーファイルが残った状態になり、毎朝決まって「ロックされています」が出るわけです。
処方箋は、ウイルス対策ソフトのスキャン対象からネットワーク共有フォルダを除外するか、スキャンスケジュールを業務時間外の深夜帯にずらすことです。ただし、セキュリティポリシーとの兼ね合いがあるため、必ずセキュリティ担当者と相談してから変更してください。この手の問題は、Excel側の設定をいくらいじっても絶対に解消しないので、もし心当たりがある方は早めにウイルス対策ソフトの設定を確認してみてください。
トラブル3共同編集でフィルターを使うと全員にマージエラーが波及する
共同編集に移行したのに、誰かがフィルターや並べ替えを使った瞬間に「変更をマージできません」エラーが全員に出る問題です。これはMicrosoftのQ&Aフォーラムでも繰り返し報告されている既知の問題で、2026年現在も完全には解消されていません。
原因は、フィルターや並べ替えがシート全体の表示状態を変更する操作であり、共同編集の同期エンジンが「全セルの位置が変わった」と判断してマージに失敗するためです。
現実的な処方箋は3つあります。まず、フィルターを使うユーザーを1人に限定し、他のメンバーはフィルターをかけない運用ルールにすることです。次に、フィルターが必要な作業はExcel for the web(ブラウザ版)で行うこと。ブラウザ版はデスクトップアプリよりも同期が高速で、フィルター操作による競合が起きにくくなっています。最後に、データを入力するシートとフィルターで分析するシートを分離し、分析用シートは個人のローカルファイルにコピーして使うという運用です。これが最も確実で、私が担当した多くの現場で採用されている方法です。
Windowsイベントログを使った高度なトラブル追跡術
情シス上級者向けの話になりますが、ファイルロック問題の原因を突き止めるためにWindowsのイベントログを活用する方法があります。ファイルサーバー側のイベントビューアーで「Windowsログ」→「セキュリティ」を確認すると、イベントID 5140(ネットワーク共有オブジェクトへのアクセス)やイベントID 5145(ネットワーク共有オブジェクトのアクセスチェック)で、誰がいつどのファイルにアクセスしたかの詳細なログが記録されています。
ただし、この監査ログはデフォルトでは有効になっていないことが多いです。グループポリシーの「監査ポリシーの詳細な構成」→「オブジェクトアクセス」→「詳細なファイル共有の監査」を有効にする必要があります。ログの量が膨大になる可能性があるため、トラブル調査時だけ一時的に有効にして、調査完了後に無効に戻すのが現実的な運用です。
この方法を使えば、「本当にAさんがロックしていたのか」「何時にファイルを開いて何時に閉じたのか」「そもそもネットワーク切断が発生していたのか」といった事実をログレベルで証明できます。感覚や推測ではなく証拠に基づいてトラブルシュートできるため、再発防止策の精度が格段に上がります。
共有Excelファイルを安全に運用するための社内ルールテンプレート
ここまでの技術的な対処法に加えて、運用ルールを明文化しておくことが長期的には最も効果的な予防策になります。情シス部門が中心となって以下のようなルールを策定し、共有フォルダのルート直下に「ファイル共有ルール.xlsx」として配置しておくことを強くおすすめします。
| ルール項目 | 内容 |
|---|---|
| ファイルを閉じるタイミング | 編集が終わったら即座に閉じる。席を離れるときも必ず閉じてから移動する。 |
| ノートPCでの利用 | LANケーブルを抜く前・VPNを切断する前に、必ず全Excelファイルを保存して閉じる。 |
| ロックされた場合の対処 | 表示されたユーザー名の本人に直接連絡する。10分以上連絡がつかない場合は情シスに連絡する。 |
| レガシ共有ブックの禁止 | 新規ファイルでのレガシ共有設定は禁止。既存ファイルは順次共同編集モードへ移行する。 |
| バックアップの頻度 | 重要な共有ファイルは週1回、日付付きのコピーを別フォルダに保存する。 |
| マクロ有効ブックの管理 | マクロのパスワードと管理者情報は共有のパスワード管理ツールに必ず登録する。 |
「ルールを作っても守られない」という声が聞こえてきそうですが、ルールが存在すること自体に意味があります。トラブル発生時に「ルールに従っていたか?」という切り口で原因分析ができるようになりますし、新入社員への引き継ぎ資料としても重要です。完璧な遵守は求めなくていいので、まずは「こういう決まりがある」という認知を広げることが最初の一歩です。
退職者が残したマクロ付きExcelの「地雷」を安全に処理する方法
情シスあるあるの中でもトップクラスに困るのが、退職した社員が作ったマクロ付きのExcelファイルが共有フォルダに放置されている問題です。VBAプロジェクトにパスワードロックがかけられていて中身が見えない、でも業務で毎日使っている、そして共有設定が有効になっていてトラブルが頻発する――こういう「地雷ファイル」は日本中の企業にゴロゴロ転がっています。
VBAプロジェクトのパスワードがわからない場合の対処法
まず最も大切なことをお伝えすると、正当な業務目的であっても、第三者のパスワードを技術的に解除する行為には法的・倫理的なリスクが伴います。必ず上長の承認を得たうえで、文書でその経緯を記録してから作業してください。
実務的な対応としては、まずファイルのバックアップを取った上で、新しいブックを作成してそこにデータ(シート内容)だけをコピーするのが最も安全です。VBAのコードは引き継げませんが、必要な機能はあらためて作り直したほうが長期的にはリスクが低くなります。退職者が書いたコードにはドキュメントがないことがほとんどで、仮にパスワードを解除して中身が見えたとしても、保守・改修のコストが非常に高くなるからです。
もしどうしてもVBAコードの中身を確認する必要がある場合は、Excelファイル(.xlsm)の拡張子を.zipに変更してアーカイブとして開き、
xl/vbaProject.bin
ファイルをバイナリエディタで開いてパスワードハッシュ部分を編集するという技法が知られています。ただしこの方法はファイルが破損するリスクがあるため、必ずコピーに対して実行し、原本は絶対にいじらないようにしてください。
地雷ファイルの長期的な対策
根本的な対策としては、マクロ付きExcelファイルの管理台帳を作ることをおすすめします。ファイル名、保存場所、作成者、VBAパスワードの有無、パスワードの保管場所、業務上の用途、最終更新日――これらを一覧化しておくだけで、退職時の引き継ぎ漏れを大幅に減らせます。前述のVBA3(診断マクロ)を全共有ファイルに対して一括実行し、レガシ共有が有効なファイルを洗い出すのも有効な初手です。
ぶっちゃけこうした方がいい!
ここまで長々と技術的な対処法やVBAマクロ、運用ルールについてお話してきましたが、個人的な本音を言わせてもらうと、「レガシ共有ブック」はもう今日この瞬間から使うのをやめたほうがいいです。ぶっちゃけ、これが結論です。
情シスを10年以上やってきて、Excelの共有トラブルに費やした時間を合計したら、たぶん数百時間じゃきかないと思います。隠しファイルの削除、セッションの強制切断、ウイルス対策ソフトとの競合調査、退職者のマクロ解析……。その全部の根っこにあるのは、「1990年代に設計された共有方式を、2026年の業務でまだ使い続けている」という一点なんです。
Microsoft自身がレガシ共有ブックを「非推奨」として段階的に廃止する方針を明確にしていて、新しいバージョンのExcelではメニューから隠しているくらいです。つまり「使わないでほしい」と作った側が言っているわけです。それなのに使い続ける理由って、結局「今まで使ってきたから」「移行が面倒だから」に尽きるのではないでしょうか。
もちろん、クラウドが使えない閉域ネットワーク環境は例外です。でもそうでない大多数の職場なら、OneDriveかSharePointにファイルを置いて共同編集モードに切り替えるだけで、この記事で説明してきたトラブルの9割以上は発生しなくなります。移行にかかる時間は1ファイルあたり正味5分程度。それだけで「編集のためロックされています」という画面を二度と見なくて済むようになるとしたら、やらない理由がないと思いませんか?
現実的なアドバイスとしては、全ファイルを一気に移行する必要はありません。まずは一番トラブルが多いファイル1つだけを共同編集に移行して、1週間運用してみる。それで問題なければ次のファイル、また次のファイル、と少しずつ広げていけばいいんです。VBA3の診断マクロで全共有ファイルをスキャンして、レガシ共有が有効なファイルリストを作るところから始めれば、全体像が見えて計画も立てやすくなります。
「でもマクロが動かなくなるかも……」という心配もわかります。でもね、ぶっちゃけ言うと、そのマクロが本当に必要かどうか自体を一度疑ったほうがいいです。10年前に退職した人が作ったマクロを、中身もわからないまま「なんとなく動いているから」で使い続けている職場を私はたくさん見てきました。そういうファイルこそが最大の地雷であり、共有トラブルの震源地です。移行のタイミングは、そうした技術的負債を棚卸しする絶好のチャンスでもあります。
最後にもう一つだけ。この記事のVBAマクロは、移行完了までの「つなぎ」として使ってください。ログを取る、診断する、一時ファイルを消す――これらは応急処置であって、治療ではありません。病気を治すのは「共同編集への移行」という手術です。応急処置だけで満足して、いつまでも古い仕組みの上で走り続けるのは、いつか大きな事故につながります。たった5分の移行作業が、あなたの職場から「Excelが開けない!」という悲鳴を永遠になくしてくれます。今日がその最初の一歩を踏み出す日になれば、これほど嬉しいことはありません。
このサイトをチップで応援
Excelの共有解除後に編集競合が残る問題に関するよくある質問
共有を解除したら変更履歴は消えてしまうのですか?
はい、レガシの「ブックの共有」を解除すると、記録されていた変更履歴はすべて削除されます。これはExcelの仕様であり、回避する方法はありません。そのため、解除前に必ず「校閲」→「変更履歴の記録」→「変更箇所の表示」から「新しいシートに変更箇所一覧を作成する」を選んでバックアップしてください。一方、共同編集モードではOneDriveやSharePointのバージョン履歴として変更が自動記録されるため、こうした心配は不要です。
「編集中のためロックされています」と表示されるのに、誰も開いていない場合はどうすればいいですか?
典型的なゴーストロックの症状です。まず、ファイルと同じフォルダにある
~$
で始まる隠しファイルを削除してください。それでも解消しない場合は、タスクマネージャーでExcelの幽霊プロセスが残っていないか全員に確認してもらいましょう。社内ネットワーク(NAS)上のファイルでこの症状が起きる場合、NASの管理画面からファイルのロック状態を解除できることもあります。ネットワーク管理者に相談してみてください。
レガシ共有ブックで「競合の解決」画面が出たとき、どう選べばいいですか?
「競合の解決」画面では、先に保存した人の変更内容と自分の変更内容が並べて表示されます。一つずつ内容を確認して「この変更を反映」を選ぶのが最も安全です。「自分の変更をすべて反映する」を選ぶと相手の作業が上書きされ、「他のユーザーの変更をすべて反映する」を選ぶと自分の作業が失われます。迷ったら、まず「コピーの保存」で自分の編集内容を別ファイルに退避してから、落ち着いて判断することをおすすめします。
共同編集中にマージコンフリクトが発生したらどう対処しますか?
2026年現在のMicrosoft 365では、マージコンフリクト発生時に3つの選択肢が表示されます。「自分の変更をマージ」を選ぶと自分の編集がファイルに反映されます。問題がある場合は右上の×ボタンで変更を破棄できます。また、「未マージのコピーを開く」を選べば、自動保存された未マージのバックアップコピーを確認できます。このバックアップはWindows環境では
%localappdata%/Microsoft/Excel/TemporaryBackupFile
に7日間保存されるため、慌てずに対応できます。
ExcelをやめてGoogleスプレッドシートに移行したほうがいいですか?
チームの作業内容次第です。Googleスプレッドシートはリアルタイム共同編集に非常に優れており、ファイルロックの概念自体が存在しないため、今回のようなトラブルとは無縁です。ただし、マクロ(VBA)、複雑なピボットテーブル、高度な条件付き書式、大量データの処理速度といった面ではExcelに分があります。Microsoft 365の共同編集機能はGoogleスプレッドシートにかなり近い体験を提供するようになっているので、まずは共同編集への移行を試してみて、それでも不満が残る場合にGoogleスプレッドシートを検討する、というステップが現実的でしょう。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Excelで共有解除後も編集競合が残る問題は、ほとんどの場合レガシ共有ブック機能の設定残骸、一時ファイルのゴーストロック、キャッシュの同期競合のいずれかが原因です。まずは一時ファイルの削除やキャッシュのクリアといった手軽な方法を試し、それでも解消しなければレガシ共有設定を完全にオフにしてください。そして可能であれば、OneDriveやSharePointを活用した共同編集モードへの移行を強くおすすめします。
2026年のMicrosoft 365は、マージコンフリクトの自動バックアップやリアルタイムのセル編集表示など、チームでのExcel作業を格段に快適にする機能を備えています。古いレガシ共有の呪縛から解放されて、ストレスのない共同作業環境を手に入れましょう。今日からできる最初の一歩は、あなたのExcelファイルのタイトルバーに「」の文字が残っていないか確認することです。もし残っていたら、この記事の解決策2の手順をさっそく実行してみてください。






コメント