これまで特に問題なく保存できていたエクセルファイルが、以下のようなメッセージが表示され、ファイルを保存できないといったことが発生しました。
エラーメッセージ:
[ パス\ファイル名 ]の保存中にエラーが検出されました。いくつかの機能を削除または修復することにより、ファイルを保存できる場合があります。新しいファイルで修復を実行するには、続行をクリックしてください。ファイルの保存を中止するには、キャンセルをクリックしてください。
続行をクリックし、別の名前でファイルを保存しようとしましたが、同様のメッセージが表示され、保存できませんでした。いろいろと試した結果、ファイルを保存できる方法を見つけました。ここでは、エクセルファイルを保存できない時に試してみる3つの方法をご紹介します。
言語: 日本語 英語
方法1: 新しいブックに移す
新しいブックに元のシートを移すことにより、ファイルを保存することができました。エクセルブック(*.xlsx)の場合は、Step1 を行います。シートにデータの入力規則が設定されている場合は、Step2も行います。マクロ有効ブック(*.xlsm)の場合は、Step3も行います。
Step1. 新しいブックにコピーする
1 シート上で右クリックし、すべてのシートを選択をクリックします。※Note
2 グループ化されたシートを右クリックし、移動またはコピーをクリックします。
3 移動先ブック名に[ (新しいブック) ]を選択し、コピーを作成するにチェックをつけ、OKボタンをクリックします。
4 新しいブックに選択されたシートのコピーが作成されます。
5 ファイルタブを選択し、名前を付けて保存をクリックします。
非表示されているシート
上記のStep1 – 1 において、非表示されているシートは選択されません。以下の手順により、必要なシートを表示してください。
① シート上で右クリックし、表示された一覧より再表示を選択します。
② 再表示ダイアログボックスより表示するシートを選択し、OKをクリックします。
ブックの保護が設定されている場合
ブックの保護が設定されている場合は、新しいブックにシートを移すことができません。以下の手順に従い、ブックの保護を解除してください。
1 校閲タブを選択し、ブックの保護をクリックします。
2 ブック保護の解除ダイアログボックスにパスワードを入力し、OKをクリックします。
3 ブックの保護が解除されます。
シート見出しを表示するには
シート見出しが表示されていない場合は、以下の手順によりシート見出しを表示します。
1 ファイルタブを選択し、画面左下のオプションをクリックします。
2 Excelのオプションダイアログボックスの詳細設定をクリックします。
3 シート見出しを表示するをチェックして、OKボタンをクリックします。
Step2. データの入力規則
新しいブックにコピーまたは移動した際、データの入力規則の設定は外れてしまいます。シートにデータの入力規則が設定されている場合は、新たに設定を行ってください。
Step3. マクロ有効ブックの場合
マクロ有効ブックの場合は、元のブックのモジュールをエクスポートし、新しいブックにそのモジュールをインポートします。手順は、以下のとおりです。
元のブックよりモジュールをエクスポート
1 元のブックを開きます。
2 [ Alt ] + [ F11 ]キーを押し、VBE(Visual Basic Editor)を起動します。
3 プロジェクトエクスプローラーからエクスポートするモジュールを選択します。
4 ファイルタブを選択し、ファイルのエクスポートをクリックします。
5 保存する場所を選択し、ファイル名を入力して保存ボタンをクリックします。
手順③~⑤の作業をすべてのモジュールにおいて行います。作業が完了した後、元のブックを閉じます。
新しいブックにモジュールをインポート
6 新しいブックを開きます。
7 [ Alt ] + [ F11 ]キーを押し、VBE(Visual Basic Editor)を起動します。
8 ファイルタブを選択し、ファイルのインポートをクリックします。
9 該当するフォルダを選択し、インポートするモジュールファイルを選択して、開くボタンをクリックします。
10 プロジェクトエクスプローラーにモジュールがインポートされます。
手順⑧~⑨の作業を、すべてのモジュールにおいて行います。
新しいブックにライブラリファイルを設定
11 ツールタブを選択し、参照設定をクリックします。
12 元のブックと同じ設定になるようライブラリファイルにチェックを付けて、OKボタンをクリックします。
新しいブックのマクロを有効
13 ファイルタブを選択し、情報をクリックし、ファイルへのリンクの編集をクリックします。
14 元のブックを選択し、リンク元の変更ボタンをクリックします。
15 新しいブックを選択し、OKボタンをクリックします。
16 リンクの編集ダイアログボックスの閉じるボタンをクリックします。
17 新しいブックを上書き保存し、ブックを閉じます。
方法2: 別のパソコンまたは他のOSで開く
別のPC、Window7やMac PCで保存できるかどうか試してみました。別のWindows10 PCでファイルを開き、保存を試したところ、問題なくファイルを保存することができました。Windows7およびMac PCでも試してみたところ、エラーは発生せずファイルを保存することができました。
今度は、別のパソコンまたはOSで正常に保存できたファイルを、エラーが発生したパソコン上で開き、ファイルを保存することができるかどうか試したところ、問題なく保存できました。
方法3: VBE (Visual Basic Editor) を起動する
マクロが含まれているエクセルファイルにおいて、次のようなことを試してみました。
エクセルファイルを開き、VBE(Visual Basic Editor)を起動します。参照設定 – VBAProjectダイアログボックスを開き、ライブラリファイルの設定を変更した後、ファイル保存を試したところ、問題なくファイルを保存することができました。手順は、以下のとおりです。
1 ファイルを開きます。
2 [ Alt ] + [ F11 ] キーを押し、VBE(Visual Basic Editor)を起動します。
3 VBAProjectの[ + ]ボタンをクリックします。
4 VBAProjectを開くためのパスワードを入力し、OKボタンをクリックします。
5 ツールタブを選択し、参照設定をクリックします。
6 いずれかのライブラリファイルをクリックしてチェックマークを付け、OKボタンをクリックします。
7 VBEを終了します。
VBEを終了するには、画面右上の閉じるボタンをクリック、または、ファイルタブを選択し、終了してMicrosoft Excelに戻るをクリックします。
8 エクセル画面に戻り、ファイルの保存を試したところ、正常に保存することができました。
最後に、VBEを起動して参照設定 – VBAProjectダイアログボックスを開き、手順⑥でチェックをつけたライブラリファイルのチェックを外します。その後、エクセルファイルを保存してください。
エラーが発生した場合にも有効
今まで問題なく正常に稼働していたエクセルファイルで、突然、エラーが発生することがあります。例えば、以下のようなオートメーションエラーが発生し、稼働しなくなるといったことが起きます。
エラーメッセージ:
実行時エラー ‘-2147319767 (80028029)’: オートメーション エラーです。無効な前方参照か、コンパイルされていない種類への参照です。
エラーは、以下のコードで発生します。
ThisWorkbook.Sheets(“Sheet1”).Select
このようなエラーが発生した場合も、上記3つの解決方法で正常に稼働するかどうか試したところ、有効であることが分かりました。
マイクロソフトの参考ページ
マイクロソフトのトラブルシューティングで、ファイルが保存できないことに関する記事が掲載されています。こちらもご参照ください。
Excelが変更を保存しない理由のトラブルシューティング
破損したブックを修復する
Excel 2010 でファイル保存時に異常終了する
https://support.microsoft.com/ja-jp/help/2660122
–