Excel で Ctrl+Z を押しても何も起きない。画面左上の「元に戻す」の矢印がグレーアウトして押せない。さっきまで何十手も戻せたはずの履歴が、気づいたら丸ごと消えている。保存前の状態に戻したい場面に限って、この症状は起きます。
結論を先に書きます。Excel の「元に戻す」は無限の保険ではなく、消えるときは一気に消える仕組みです。Office は既定で直近100回の取り消し可能な操作を保存する仕様で、上限を超えた分は古いものから捨てられます。さらにExcel でマクロを実行すると元に戻すスタックがクリアされると公式に明記されています。ファイルの保存や[ファイル]タブの操作のように、そもそも元に戻す対象にならない操作もあります。
つまり「押せない」のは故障ではなく、仕様どおりに履歴が無くなった状態がほとんどです。であれば Ctrl+Z を連打する時間は早めに切り上げて、自動回復とバージョン履歴という別の経路へ移ったほうが復旧は早くなります。原因の見分け方と、戻せなかったときに見る場所を順に書きます。
「元に戻す」はスタックなので、減るのではなく消える
Excel の元に戻す履歴は、操作を1件ずつ積み上げた一本の積み木(スタック)として持たれています。Ctrl+Z は上から1枚ずつ外す操作で、Ctrl+Y はそれを戻す操作です。重要なのは、この積み木が条件によっては1枚ずつではなく土台ごと捨てられる点です。
現場で多いのは、原因と結果が離れていて気づけないケースです。マクロボタンを押した、一度保存した、ブックを閉じて開き直した。どれも「履歴を消す操作」とは見えないのに、その直後から Ctrl+Z が効かなくなります。グレーアウトしている矢印は壊れているのではなく、「戻す対象が1件も無い」と正直に表示しているだけです。
原因1:マクロ・VBAを実行した
いちばん多い原因がこれです。Excel でマクロを実行すると元に戻すスタックがクリアされるという挙動は Microsoft のサポートページに書かれた仕様で、設定で避けることはできません。しかもクリアされるのはマクロが行った変更だけではなく、その前に手で行った操作の履歴まで含めて全部です。
「マクロなんて使っていない」という場合も疑う価値があります。シートに貼られたボタン、ブックを開いた瞬間に走る Auto_Open、セルの変更に反応する Worksheet_Change などは、本人がマクロを実行したつもりがなくても走ります。拡張子が .xlsm のブックを触っているなら、知らないうちに実行している可能性があります。マクロの有効化で引っかかっている場合はxlsm のマクロが無効になりましたと出る時の対処も参考になります。
公式のマクロ記録の解説ページも、マクロは元に戻せないこと、意図した動作にならなければブックを保存せずに閉じられることを前提に手順を書いています。つまり対策は「実行後に戻す」ではなく「実行前にコピーを作る」しかありません。属人化したマクロを抱えているなら、Excelマクロの属人化リスクと脱却法も合わせて読んでおくと判断しやすくなります。
原因2:そもそも元に戻せない操作だった
Excel には最初から取り消しの対象外になっている操作があります。公式ページは「[ファイル]タブでのコマンドのクリックやファイルの保存など、一部の操作は元に戻すことはできず」と書いています。シートの削除も、Excel 自身が確認ダイアログで取り消せない旨を警告してくる操作です。
この振り分けを頭に入れておくと、無駄な Ctrl+Z 連打を減らせます。
操作 | Ctrl+Z で戻せるか | 戻せないときに見る場所 |
|---|---|---|
セルの入力・書式・行列の削除 | 戻せる(上限100回まで) | 上限超過ならバージョン履歴 |
並べ替え・フィルターの適用 | 戻せる | - |
シートの削除・シート名の変更 | 原則として戻せない | 保存前なら保存せず閉じる/バージョン履歴 |
マクロ・VBAの実行 | 戻せない(履歴ごとクリア) | 保存前なら保存せず閉じる/自動回復 |
ファイルの保存・[ファイル]タブの操作 | 戻せない | バージョン履歴 |
ブックを閉じた後の巻き戻し | 戻せない(履歴は破棄) | 自動回復/バージョン履歴 |
表の右列が空欄に近い操作ほど、事前のコピーが唯一の保険になります。
原因3:100回の上限を超えた
Office は既定で直近100回の取り消し可能な操作を保存します。100回というと十分に思えますが、実務では意外と早く尽きます。1セルずつ入力していれば1回の入力が1手ですし、置換やオートフィルも手数を消費します。午前中から触っていたブックで「朝の状態まで戻す」のは、最初から無理な期待です。
この回数は Windows のレジストリに UndoHistory という値を追加して変更する手順が公式に案内されています。ただし公式ページは入力できる数値の上限を明示しておらず、回数を増やすほど履歴を保持するメモリ(RAM)が増えて Excel のパフォーマンスに影響すると警告しています。レジストリ編集は失敗すると Office 全体に影響しますし、動作が重くなれば Excel が固まる原因を自分で増やすことにもなります。業務で使う端末では、増やすより「戻せない前提で運用を変える」ほうが安全です。
原因4:ファイルを閉じた、または別のブックの履歴を見ている
元に戻すスタックはブックを閉じた時点で破棄されます。開き直しても前のセッションの履歴は復活しません。「昨日の分を戻したい」は、履歴では叶いません。
もうひとつ混乱しやすいのが、同じ Excel で複数のブックを開いているときの挙動です。元に戻す履歴はブックごとに完全に独立しているわけではないため、「今見ているシートではない別のブックの操作が取り消された」と感じる場面があります。重要な作業中は、関係のないブックを同じウィンドウで開かないのが無難です。
戻せないと分かった後に見る3つの場所
ここからが本題です。Ctrl+Z が死んでいても、ファイルそのものには別系統の退避先があります。順番に当たってください。
1. まだ保存していないなら「保存せずに閉じる」
いちばん確実なのがこれです。壊したのが保存前なら、ブックを保存せずに閉じて開き直せば、最後に保存した状態がそのまま戻ってきます。履歴を1手ずつ遡るより速く、取りこぼしもありません。マクロを誤って実行したときの一手目は Ctrl+Z ではなくこれです。
2. 自動回復(ドキュメントの回復)
Excel が異常終了した場合は、次回起動時に[ドキュメントの回復]ウィンドウが開き、最後に保存した版・最後に自動保存された版・最後に自動回復された版が並びます。候補が複数あるときはファイル名の下の日時を見て選びます。保存せずに閉じてしまった新規ブックは、[ファイル]>[情報]>[ブックの管理]>[保存されていないブックの回復]から探せます。
注意点は、自動回復は一定間隔で保存されるものなので、間隔の間にやった作業は残らないことです。[ファイル]>[オプション]>[保存]で間隔を確認し、短くしておくと取り戻せる範囲が広がります。
3. OneDrive / SharePoint のバージョン履歴
保存までしてしまった場合の最後の綱がこれです。OneDrive 上のファイルはバージョン履歴から以前の版を復元できます。ファイルを右クリックして[バージョン履歴]を選び、戻したい版の「…」から[復元]を選ぶだけです。公式ページはバージョン履歴が30日間保持されること、Microsoft 365 ファイルに限らず PDF や画像でも機能することを明記しています。SharePoint 上の項目やファイルも同様に復元できます。
ただし職場・学校アカウントでは管理者がバージョン管理をオフにしている場合があり、その場合は履歴が無いという答えになります。また自動保存が有効なクラウド上のファイルは変更が数秒ごとに保存されるため、「保存していないから大丈夫」が通じません。誤った変更を戻す手段はバージョン履歴だけになります。逆に言えば、ローカル保存のブックには履歴がありません。重要なブックをクラウドに置くこと自体が保険になります。
なお OneDrive 同期で別のファイルが増えている場合は、復旧ではなく競合の問題かもしれません。OneDrive で競合コピーが作られる時の対処を先に確認してください。
戻せない前提で、壊れても困らない形にする
ここまで読んで分かるとおり、Excel の「元に戻す」に業務の安全を預けるのは無理があります。100回という上限があり、マクロ1回で消え、閉じれば破棄されるものを、唯一の保険にはできません。
実務で効くのは地味な3つだけです。マクロを実行する前にファイルをコピーする。重要なブックは OneDrive か SharePoint に置いてバージョン履歴を使えるようにする。削除や一括置換のような取り返しのつかない操作の前に、一度保存して「戻る場所」を作る。どれも5秒で終わりますが、Ctrl+Z より確実です。
そもそも元に戻せない事故が怖いのは、1つのブックに入力も計算も記録も同居していて、誰が何を変えたか追えないからでもあります。入力だけを別の画面に分けて記録を1行ずつ残す作りにすると、この手の事故は構造的に減ります。ただしどんな業務でも合うわけではないので、考え方として置いておきます。
ファイル自体が開けない・破損しているところまで進んでしまった場合は、元に戻す以前の問題です。その場合はエクセルファイルが破損して開けない時の復旧手順に進んでください。上書き保存を重ねるほど選択肢が減るので、気づいた時点で手を止めるのが先です。
よくある質問
Ctrl+Z が効かないのは Excel の不具合でしょうか。
ほとんどは不具合ではなく仕様です。Office は既定で直近100回の取り消し可能な操作を保存する仕様で、上限を超えた分は古いものから捨てられます。マクロを実行すると履歴はスタックごとクリアされ、ファイルの保存や[ファイル]タブの操作はそもそも元に戻す対象になりません。アイコンがグレーアウトしているのは「戻す対象が1件も無い」という表示です。
マクロを実行した後に元に戻す方法はありますか。
Excel の「元に戻す」では戻せません。マクロの実行で元に戻すスタックがクリアされるため、実行前の操作まで含めて戻せなくなります。保存していなければブックを保存せずに閉じて開き直す、保存してしまったら自動回復データかバージョン履歴を見る、という別経路になります。マクロは実行前にコピーで試すのが唯一の予防策です。
元に戻せる回数を100回より増やせますか。
Windows のレジストリに UndoHistory という値を追加して変更する手順が公式に案内されています。ただし公式ページは上限の数値を明示しておらず、回数を増やすほど履歴を保持するメモリが増えて Excel のパフォーマンスに影響すると警告しています。レジストリ編集は失敗すると Office 全体に影響するため、業務機では安易に触らないほうが無難です。
ファイルを閉じてしまった後でも履歴から戻せますか。
戻せません。元に戻すスタックはブックを閉じた時点で破棄され、開き直しても前のセッションの履歴は復活しません。閉じた後に頼れるのは、保存していない場合は自動回復([ドキュメントの回復]ウィンドウや「保存されていないブックの回復」)、OneDrive や SharePoint 上のファイルならバージョン履歴の2つです。
シートを削除してしまいました。元に戻せますか。
シートの削除は Excel 自身が確認ダイアログで取り消せない旨を警告する操作で、原則として Ctrl+Z では戻せません。保存前であればブックを保存せずに閉じて開き直すのが最短です。すでに保存した場合は OneDrive・SharePoint のバージョン履歴から削除前の版を復元するのが現実的な手段になります。