Excel では、破損したブックを開いたときに自動的にファイルの回復モードが開始され、そのブックが開き直されると同時に、ブックの修復が試みられます。
Excel では、常にファイルの回復モードを自動的に開始できるとは限りません。 ブックが破損しているために開けない場合は、手動でブックの修復を試みることができます。
また、ブックの修復に失敗したときは、ブックのデータを復元する他の方法を試してみることもできます。 予防処置として、頻繁にブックを保存し、保存するたびにバックアップ コピーを作成することもできます。 または、Excel によって指定した間隔で回復用ファイルが自動的に作成されるように指定することができます。 この方法では、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。
破損したブックを手動で修復する
[ファイル] タブの [開く] をクリックします。
Excel 2016で、スプレッドシートが配置されている場所をクリックし、[参照] をクリックします。
[開く] ダイアログ ボックスで、開こうとしている破損したブックを選択します。
[開く] の横にある矢印をクリックし、[開いて修復] をクリックします。
次のいずれかの操作を行います。
- ブックのデータを可能な限り回復するには、[修復] をクリックします。
- ブックの修復に失敗したときに、ブックから値と数式を抽出するには、[データの抽出] をクリックします。
破損したブックのデータを回復する
次の方法は、他の方法では失われる可能性のあるデータを回復するのに役立ちます。 1 つの方法で失敗した場合は、別の方法を試すことができます。 これらのメソッドを使用してデータを回復できない場合は、ブックのデータを修復するために、サード パーティのソフトウェア ソリューションを試すこともできます。
重要
ディスク エラーまたはネットワーク エラーが原因でブックを開けない場合は、以下の回復方法のいずれかを試す前に、ブックを別のハード ディスク ドライブに移動するか、ネットワークからローカル ディスクに移動してください。
Excel で開いているブックのデータを回復するには、次のいずれかの操作を行います。
ブックを最後に保存したバージョンに戻す ワークシートを編集していて、変更を保存する前にブックが破損した場合は、元のワークシートを最後に保存したバージョンに戻すことで元のワークシートを復元できます。
ブックを最後に保存したバージョンに戻すには、次の操作を行います。[ファイル] タブの [開く] をクリックします。
開いているブックの名前をダブルクリックします。
ブックを再度開くには [はい] をクリックします。
注
ブックが、最後に保存したバージョンのブックに戻ります。 ブックの破損の原因となった可能性がある変更は、破棄されています。 以前のバージョンのブックへの復元に関する詳細については、Office ファイルの自動保存および回復に関するページを参照してください。
ブックを SYLK (シンボリック リンク) 形式で保存する ブックを SYLK 形式で保存することで、破損した要素を除外できる場合があります。 SYLK 形式は、通常、プリンターの破損を削除するために使用されます。
ブックを SYLK 形式で保存するには、次の操作を行います。[ファイル] タブをクリックし、[名前を付けて保存] をクリックします。
[ファイルの種類] ボックスの一覧の [SYLK (*.slk)] をクリックし、[保存] をクリックします。
注
SYLK ファイル形式を使用する場合は、ブック内の作業中のシートだけが保存されます。
選択したファイル形式では複数のシートを含むブックがサポートされていないというメッセージが表示されたら、[OK] をクリックして、作業中のシートだけを保存します。
このブックには SYLK 形式と互換性のない機能が含まれている可能性があるというメッセージが表示されたら、[はい] をクリックします。
[ファイル] タブの [開く] をクリックします。
保存した .slk ファイルを選択し、[開く] をクリックします。
注
.slk ファイルを表示するには、[ファイルの種類] の一覧で [すべてのファイル] または [SYLK ファイル] をクリックすることが必要な場合があります。
[ファイル] タブの [名前を付けて保存] をクリックします。
[ファイルの種類] ボックスで、[Excel ブック] をクリックします。
元のブックを置き換えずにコピーを作成するには、[ファイル名] ボックスに新しいブック名を入力し、[保存] をクリックします。
注
この形式ではブック内の作業中のワークシートしか保存できないため、破損したブックを繰り返し開き、それぞれのワークシートを別々に保存する必要があります。
Excel で開けないブックのデータを回復するには、次のいずれかの操作を行います。
Excel の計算オプションを手動に設定する ブックを開くには、計算設定を自動から手動に変更してみてください。 ブックが再計算されないため、開く場合があります。
Excel で計算方法のオプションを手動に設定するには、次の操作を行います。- 新しい、空白のブックが Excel で開いていることを確認します。 新しい、空白のブックが開いていない場合は、次の操作を行います。
[ファイル] タブの [新規] をクリックします。
[使用できるテンプレート] の [空白のブック] をクリックします。
- [ファイル] タブの [オプション] をクリックします。
- [数式] カテゴリの [計算方法の設定] で [手動] をクリックします。
- [OK] をクリックします。
- [ファイル] タブの [開く] をクリックします。
- 破損したブックを選択し、[開く] をクリックします。
外部参照を使用して破損したブックにリンクする ブックから数式や計算値ではなくデータのみを取得する場合は、外部参照を使用して破損したブックにリンクできます。
外部参照を使用して破損したブックにリンクするには、次の操作を行います。[ファイル] タブの [開く] をクリックします。
破損したブックのあるフォルダーを選択し、破損したブックのファイル名をコピーして、[キャンセル] をクリックします。
[ファイル] タブをクリックし、[新規作成] をクリックします。
[使用できるテンプレート] の [空白のブック] をクリックします。
新しいブックのセル A1 に、「=ファイル名!A1」と入力し、Enter キーを押します (ファイル名は、手順 2 でコピーした破損したブックの名前です)。
ヒント
ブックの名前のみを入力する必要があります。ファイル名拡張子を入力する必要はありません。
[値の更新] ダイアログ ボックスが表示されたら、破損したブックを選び、[OK] をクリックします。
[シートの選択] ダイアログ ボックスが表示されたら、適切なシートを選び、[OK] をクリックします。
セル A1 を選択します。
[ホーム] タブの [クリップボード] で [コピー] をクリックします。
セル A1 から始めて、破損したブックのデータが含まれているセルの範囲とほぼ同じサイズの領域を選びます。
[ホーム] タブの [クリップボード] グループで [貼り付け] をクリックします。
セル範囲が選択されている状態のまま、もう一度 [ホーム] タブの [クリップボード] で [コピー] をクリックします。
[ホーム] タブの [クリップボード] グループで、[貼り付け] の下にある矢印をクリックし、[値の貼り付け] の下にある [値] をクリックします。
注
値を貼り付けると、破損したブックへのリンクが削除され、データだけが残ります。
マクロを使用して、破損したブックからデータを抽出する グラフが破損したブックにリンクされている場合は、マクロを使用してグラフのソース データを抽出できます。
マクロを使用するには、次の操作を行います。次のマクロ コードをモジュール シートに入力します。
Sub GetChartValues() Dim NumberOfRows As Integer Dim X As Object Counter = 2' Calculate the number of rows of data. NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values) Worksheets("ChartData").Cells(1, 1) = "X Values"' Write x-axis values to worksheet. With Worksheets("ChartData") .Range(.Cells(2, 1), _ .Cells(NumberOfRows + 1, 1)) = _Application.Transpose(ActiveChart.SeriesCollection(1).XValues) End With ' Loop through all series in the chart and write their values to' the worksheet. For Each X In ActiveChart.SeriesCollection Worksheets("ChartData").Cells(1, Counter) = X.Name With Worksheets("ChartData").Range(.Cells(2, Counter), _ .Cells(NumberOfRows + 1, Counter)) = _ Application.Transpose(X.Values) End WithCounter = Counter + 1 Next End Subブックに新しいワークシートを挿入し、その名前を ChartData に変更します。
基になっているデータ値を取り出すグラフを選択します。
-
注
グラフはワークシートまたは独立したグラフ シートに埋め込むことができます。
GetChartValues マクロを実行します。
ChartData ワークシートは、グラフから取り出したデータで置き換えられます。
自動的にブックのバックアップ コピーを保存する
自動的にブックのバックアップ コピーを保存すると、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。
- [ファイル] タブの [名前を付けて保存] をクリックします。
- Excel 2016で、スプレッドシートが配置されている場所をクリックし、[参照] をクリックします。
- [保存] ボタンの横にある [ツール] の横にあるドロップダウン矢印をクリックし、[全般オプション] をクリックします。
- [バックアップ ファイルを作成する] チェック ボックスをオンにします。
以前のバージョンのブックの保存および回復に関する詳細、および (以前に保存していなかった) 新しいブックの回復に関する詳細については、「Office ファイルの回復機能」を参照してください。
指定した間隔で自動的に回復用ファイルを作成する
Excel で定期的にブックの回復用ファイルを作成するように設定すると、元のブックが誤って削除された場合や破損してしまった場合に、正常なブックのコピーにアクセスできます。
- [ファイル] タブの [オプション] をクリックします。
- [保存] カテゴリで、[ブックの保存] の [次の間隔で回復用データの自動保存を行う] チェック ボックスをオンにし、分数を入力します。
- [自動回復用ファイルの場所] ボックスに、回復用ファイルを保存する場所を入力します。
- [このブックの自動保存を行わない] チェック ボックスがオフになっていることを確認します。
以前のバージョンのブックの保存および回復に関する詳細、および (以前に保存していなかった) 新しいブックの回復に関する詳細については、「Office ファイルの回復機能」を参照してください。
補足説明
Excel Tech Community の専門家にいつでも依頼したり、コミュニティでサポートを受けたりすることができます。