Excelシートの保護を解除する方法 (簡単なガイド)
Iron Softwareチームによる執筆
グレイアウトされたExcelシートを見つめています。 すべてのセルがロックされています。 入力は失敗し、並べ替えも失敗し、右クリックはほとんど空のメニューを表示します。 見覚えがありますか?
自分で保護を設定してExcelのパスワードを回復する必要がある場合、同僚からファイルを受け取った場合、または配布用にロックされたスプレッドシートを編集したい場合、アクセスを取り戻すための簡単な方法があります。 このガイドは、リボンのワンクリックから、マクロを使用しないXMLアプローチまで、Excelシートを保護解除するすべての方法を網羅しているので、すぐに仕事に戻ることができます。
すでにYouTubeでこのビデオチュートリアルを検索したことがあるなら、おそらく同じ2つの方法が何度も再利用されているのを見たことでしょう。 この投稿は、エッジケース、トラブルシューティング、トップ結果が見逃す現実のシナリオをすべてカバーしています。 *
Excel保護の紹介
Excel保護は、ユーザーがデータへのアクセスを制御し、不要な変更を防ぐために設計された組み込みのセキュリティ機能です。 重要な情報を含むExcelファイルや、共有プロジェクトトラッカー、または敏感な財務報告を作成しているかどうかに関わらず、保護ツールを使用すると、誰がコンテンツを表示、編集、または形式変更できるかを決定できます。
パスワード保護の理解
パスワード保護は、Excelセキュリティの基盤であり、ユーザーが認証されたユーザーのみが知っているパスワードでExcelシートやブック全体をロックダウンできる能力を提供します。 Excelでシートの保護やブックの保護オプションをレビュータブで使用してパスワードを設定すると、Excelはコンテンツを暗号化し、正しいパスワードを入力しない限り編集や表示が不可能になります(ファイルレベルの保護の場合)。
最速の修正: 30秒でレビュータブからシートを保護解除する
Excelシートがパスワードなしで保護されている場合、これはあなたが必要とするすべてです。
- コンピュータでExcelファイルを開きます。
- 上部のリボンでレビュータブをクリックします。
- シートの保護解除をクリックします("保護"グループにあり、通常はリボンの中央右付近にあります)。
- 完了。 保護されたシートはすぐに編集可能です。

ボタンが"シートの保護解除"ではなく"シートの保護"と表示される場合、そのシートは現在保護されていないため、自由に編集できます。
シートの保護解除をクリックするとExcelパスワードを入力するダイアログが表示され、持っていないパスワードを求められる場合は、読み進めてください。 以下の方法のいずれかが必要です。
方法1: シートタブを右クリック
これは、マウスユーザーにとってリボンよりもさらに高速であり、デスクトップアプリのすべてのバージョンで動作します。
-
画面下部のシートタブ(シート名が記載されたタブ、例: "Sheet1"や"Budget Q3"など)を右クリックします。
- 表示されるコンテキストメニューでシートの保護解除をクリックします。
- パスワードを求められた場合は、入力してください。

右クリックメニューがシートの保護となっている場合、そのシートはすでにロックが解除されています。 "シートの保護解除"がグレーアウトされている場合、Excelブックの構造が保護されている可能性があります。下記のトラブルシューティングセクションを参照してください。 *
方法2: フォーマットメニューを使用(古いバージョンでも動作)
Excelの古いバージョン(2007–2010)またはリボンよりもメニューでのナビゲーションが好ましい場合:
-
ホームタブをクリックします。
-
右端のセルグループで書式設定をクリックします。
- ドロップダウンの一番下でシートの保護解除をクリックします。
- パスワードを求められた場合は、Excelパスワードを入力してください。

このパスは、リボンがカスタマイズされている、最小化されている、またはソフトウェアのレイアウトが標準設定とは異なる場合に特に便利です。 *
方法3: キーボードショートカット
キーボード先行型の人の場合、Excelシートを保護解除するための単一のキーストロークはありませんが、ExcelのAltキー ナビゲーションを使用して、マウスに触れずにそこに到達できます。
Windows:
- Alt → R → PS の順に押します(同時に押しません)。
- これは次のようにナビゲートします:Alt(リボンショートカットを有効にする)→ R(レビュータブ)→ PS(シートの保護/保護解除トグル)。
Macでは、同等のメニューパスは次の通りです。 ツール → 保護 → シートの保護解除
デフォルトのMacキーボードショートカットはありませんが、システム環境設定 → キーボード → ショートカット → アプリショートカットを介して作成できます。 マックに管理者アクセスでサインインして、ショートカットをアカウントに保存します。 *
方法4: VBAを使用してシートを保護解除(パスワードを紛失したとき)
この方法は、Excelパスワードを覚えていない場合や迅速に保護を除去する必要があるときの命綱です。ユーザーは元のパスワードを知らなくてもExcelシートを保護解除できます。 これは、Excelの組み込みシート保護で保護された古い.XLSファイルやほとんどの.XLSXファイルで信頼性がありますが、フルオープンファイルパスワードで暗号化されたファイルには適用されません。
重要な注意点: これはシート保護にのみ適用されます。 ファイルを開くために._パスワードを要求すると、これはファイルレベルの暗号化であり、完全に異なるセキュリティ層です。
以下のVBAマクロは厳密にはブルートフォースアプローチです:使用可能なパスワードの組み合わせを高速で繰り返し、Excelが受け入れるパスワードに相当するものを見つけます。オリジナルのパスワードを回復するのではなく、同様に機能するものを生成して、ユーザーがExcelシートを保護解除できるようにします。 VBAコードは、保護されたシートのロックを解除できる使用可能なパスワードを生成できるので、元のパスワードなしでエクセルシートにアクセスすることができます。
手順
- 保護されたシートを含むExcelファイルを開きます。
-
Alt + F11を押して、Visual Basic Editor (VBE)を開きます。
-
メニューバーで挿入 → モジュールをクリックして、新しいコードモジュールを作成します。
- 以下のVBAコードを空白のモジュールウィンドウにペーストします。
Sub UnprotectSheet()
Dim ws As Worksheet
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ws.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ws.ProtectContents = False Then
MsgBox "Sheet '" & ws.Name & "' unprotected!"
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Next ws
End Sub
Sub UnprotectSheet()
Dim ws As Worksheet
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ws.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ws.ProtectContents = False Then
MsgBox "Sheet '" & ws.Name & "' unprotected!"
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Next ws
End Sub
Option Strict On
Sub UnprotectSheet()
Dim ws As Worksheet
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ws.Unprotect(Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n))
If ws.ProtectContents = False Then
MsgBox("Sheet '" & ws.Name & "' unprotected!")
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next ws
End Sub
-
F5を押すか、実行ボタン(緑の再生三角形)をクリックしてプログラムを実行します。
- 少し待つと、ダイアログが開いてExcelの各ワークシートが保護解除されたことを確認します。
- VBEを閉じ、スプレッドシートに戻ると、そのシートは完全に編集可能なはずです。
⚠️ 注意: 多くのユーザーが、この方法が.XLSXファイルで最初の試行で完璧に動作したと報告しています。 非常に古い.XLS形式ファイルでは数秒長くなる可能性があります。 完了すると、ワークシート内のすべてのセルを編集するための完全なアクセス権を得ることができます。 *
方法5: 無料の代替手段としてGoogle Sheetsを使用
これは、Excelのシート保護を完全に迂回する過小評価されたトリックであり、マクロも、ダウンロードやインストールが必要なソフトウェアも、支払いアカウントも必要ありません。 必要なのは、無料のGoogleアカウントだけです。 Google SheetsはExcelのシートレベルの保護を無視することが多く、ユーザーがパスワードを知らなくてもExcelシートを保護解除できるようにします。
-
Googleアカウントにサインインし、ブラウザでGoogle Driveを開きます(drive.google.com)。
- .XLSXファイルをドライブにアップロードします(デスクトップからドラッグ&ドロップするか、+ 新規作成 → ファイルのアップロードをクリックしてコンピュータをブラウズします)。
3.ドライブ内の.XLSXファイルを右クリックし、Google Sheetsで開くを選択します。
- Google Sheetsはファイルを開き、シートレベルの保護を無視します。ユーザーはすぐに保護されたワークシートを編集でき、パスワードを知らなくても問題ありません。
- 編集が完了したら、ファイル → ダウンロード → Microsoft Excel (.XLSX)に移動し、XLSX形式で保存します。
注: この方法は、元のパスワードへのアクセスなしでExcelシートを保護解除する必要があるユーザーに特に役立ちます。 これにより、パスワードがなくてもワークシートを保護解除し、Excelシートを編集できます。
制限: フォーマット、数式、データはラウンドトリップで保持されるはずですが、いくつかの高度なExcel機能(ピボットテーブル、一部のチャートタイプ、Power Query)は、Google Sheetsで正しく表示されない可能性があります。 簡単なデータ編集において、この方法は非常にうまく機能し、ブラウザとGoogleアカウント以外に何も必要ありません。
方法6: ワークブックを保護解除する(シートとの違い)
Excelでシート保護とワークブック保護は別物であり、それぞれの保護を解除するには異なる手順が必要であることが、よくある混乱の原因です。
- シート保護は特定のワークシートの_content_をロックします(セル、数式、フォーマットなど)。
- ワークブック保護は、Excelワークブックの_structure_をロックします(たとえば、シートを追加、削除、移動、名前変更、非表示、再表示できません)。
シートタブを右クリックするメニューがグレーアウトされている、または新しいExcelワークシートを追加できない場合は、ワークブックが保護されていることが原因です。
Excelワークブックの保護を解除するには
-
レビュータブをクリックします。
- ワークブックの保護をクリックします。 2. ワークブックが保護されている場合、ボタンが"押された"または強調表示されます。
- それをクリックして保護をオフに切り替えます(パスワードを求められた場合は入力)。
ワークブックの保護が解除されると、このチュートリアルのどの方法を使用しても、個々のシートを解除することができます。 *
方法7: XMLファイルを直接編集する(マクロ不要)
このアプローチは、.XLSXファイルに適用されます。これらは実際にはXMLファイルを含むZIPアーカイブであり、VBAやサードパーティソフトウェアのダウンロードなしで済みます。 これは、ユーザーがExcelシートの元のパスワードを知らなくても保護解除できるようにします。 このチュートリアルで最も技術的に手間のかかる方法ですが、多くの非プログラマーがファイル拡張子のトリックを理解すると簡単だと感じています。
重要な洞察: .XLSXファイルは、表向きは難しいZIPファイルですが、.XLSXを.ZIPに拡張子を変更すると、他のZIPアーカイブのように開いて内部のXMLファイルを編集できます。例として、Excelシートを保護解除するには、関連するワークシートファイル内(例: sheet1.xml、最初のワークシートのため)で単一のXMLタグとして記録されているシート保護タグを削除し、変更したXMLファイルを保存すれば、保護はなくなります。 この方法を使用すると、元のパスワードなしでExcelシートのロックが解除され、ユーザーがアクセス可能になります。
ステップバイステップの手順
-
.XLSXファイルのコピーを最初に作成します。これから直接編集するため、デスクトップまたはコンピュータの別のフォルダーにバックアップを保存しておきます。
- コピーの拡張子を.XLSXではなく.ZIPに変更します(例: Budget.xlsx → Budget.zip)。 ファイル拡張子を変更するとWindowsに警告が表示される場合があります。リネームを確認してください。
- Windows Explorerまたは7-ZipのようなZIPプログラムを使用してZIPファイルを開きます。
- ZIPアーカイブ内のxl/worksheets/フォルダーに移動します。
- あなたの保護されたシートに対応するXMLファイルを見つけます(例: sheet1.xml、sheet2.xml)。
-
デスクトップに抽出し、メモ帳やコンピュータ上の任意のプレーンテキストエディタで開きます。
-
メモ帳でCtrl + Fを使ってsheetProtectionを検索します。
- <sheetProtectionタグを見つけます。一般的には次のように表示されます: <sheetProtection algorithmName="SHA-512" hashValue="..." password="..." .../>。 これがExcelシートロックを強制するsheetProtectionタグです。
-
sheetProtectionタグ行全体を選択して削除します。
-
メモ帳で変更されたXMLファイルを保存します。
-
変更したXMLファイルをZIPアーカイブ内に戻し、元のXMLを置き換えます(Windows Explorerにドラッグ&ドロップ、または7-Zipの更新機能を使います)。
- ZIPアーカイブの拡張子を.zipから.xlsxに変更して元の状態に戻します。
- Excelでファイルを開くと、シートは保護解除され、完全に編集可能です。
⚠️ 重要:
タグのみを削除してください。 XMLファイル内の他の行を編集または削除しないでください。間違ったタグを変更するとスプレッドシートが破損します。 常にコピーで作業し、元のファイルでは作業しないでください。 *
Excelを保護解除するブルートフォース法
ブルートフォース法は、パスワードを忘れたときにExcelシートを解除するための最後の手段としてのアプローチです。 この技法は、正しいパスワードが見つかるまで、あらゆるパスワード組み合わせを体系的に試すことを含みます。 シンプルまたは短いパスワードの場合、ブルートフォースは効果的ですが、可能性の数があまりに多いため、長く、より複雑なパスワードに対しては実用的ではありません。
Excelの文脈では、ブルートフォース攻撃は、異なるパスワード組み合わせを入力するプロセスを自動化する専門ソフトウェアやVBAスクリプトを使用して行うことができます。 一部のツールは、特に古いバージョンのExcelにおいて、保護アルゴリズムの弱点を利用していることで、Excelシートやワークブックを解除するために設計されています。
しかし、ブルートフォースの使用には倫理的および法的影響があることを理解することが重要です。 所有者の許可なしにExcelシートやワークブックを解除しようとすることは、倫理に反するだけでなく、違法である可能性もあります。 ブルートフォースは、パスワードを本当に忘れてしまい、アクセスを取り戻す他の方法がない場合にのみ、自分のファイルに対して使用すべきです。
ブルートフォース方法を使用することに決めた場合、注意を怠らないでください。 常に評判のあるソフトウェアまたは信頼できるVBAコードを使用し、パスワードの複雑さに応じてプロセスにかなりの時間がかかる可能性があることを覚えておいてください。 ほとんどのユーザーにとって、この方法は最後の手段ですが、他のすべてのオプションが尽きたときにエクセルシートのロックを解除し、重要なデータにアクセスまたは編集する必要がある場合には命綱となりえます。
よくある問題とトラブルシューティング
"シートの保護解除"がグレーアウトまたは欠落している
通常これはExcelワークブック構造が保護されていることを意味します。 レビュー → ワークブックの保護に行き、まずそれを無効にしてから、もう一度シートの保護を解除しようとしてください。 このプロセスで最も一般的なエラーです。
パスワードダイアログが表示されるが、パスワードを忘れてしまった
VBAのブルートフォースマクロ(方法4)またはXMLファイルの編集方法(方法7)を試してください。 Google Sheetsメソッド(方法5)もパスワードプロンプトなしでロックを迂回できるかもしれません。 この3つの方法すべては、元のパスワードへのアクセスを持たないユーザーに効果的であることが確認されています。
XML編集後に"ファイルが破損している"エラー
おそらく
VBAマクロを実行しても何も起こらない
セキュリティ設定でマクロが有効になっていることを確認してください。 ファイル → オプション → トラストセンター → トラストセンターの設定 → マクロの設定に移動し、すべてのマクロを有効にする(後でリセットできます)を選択します。 またVBAコードをモジュール(挿入 → モジュール)に貼り付けたこと、シートまたはワークブックのコードペインに直接貼り付けていないことを確認してください。 VBEで間違った場所に貼り付けた場合、プログラムは正しく実行されません。
ファイルを開くだけでパスワードが必要
これはシート保護とは異なるセキュリティ層であるファイルレベルの暗号化です。 Excelがファイルを開く前にパスワードを要求する場合、この投稿のどの方法も役立ちません。元のパスワードまたは専用のファイル回復ソフトウェアが必要です。
Macでレイアウトが違って見える
Macでは、Excelシートを保護解除するためのパスはツール → 保護 → シートの保護解除です。 レビュータブメソッドも機能します。リボンのレイアウトはバージョンによってわずかに異なりますが、シートの保護解除ボタンは同じグループ内にあります。VBAメソッド(Alt + F11)もMac Excelで動作します。
シートの保護解除後、ある特定のセルだけ編集可能
一部のExcelワークシートは、一般的なシート保護が解除された後でも、特定のユーザーのために特定のセルや範囲がロックされた状態のままである、より詳細な権限システムを使用しています。 シートの保護を解除しても特定の領域を編集できない場合は、レビュー → 範囲編集を許可を確認して、範囲レベルのアクセス制御が別のセキュリティ層として設定されているかどうかを確認してください。 *
開発者向け: プログラムでIronXLを使用してExcelワークシートの保護を解除する
ファイルのバッチを処理する自動ワークフローの一部として、ウェブアプリを構築する、または内部システムと統合するためにExcelワークシートの保護を解除する必要がある場合、デスクトップソフトウェアを介した手動での保護解除は規模的に現実的ではありません。
IronXLは.NETライブラリであり、サーバーにExcelがインストールされていなくてもC#でExcelファイルを読み書きし操作することができます。 シートの保護を解除するには単一行のコードで済みます。GUIアクセスも、パスワードプロンプトも、手動XMLファイル編集も必要ありません。
using IronXL;
WorkBook workBook = WorkBook.Load("ProtectedReport.xlsx");
WorkSheet sheet = workBook.WorkSheets[0];
// Remove sheet protection programmatically
sheet.UnprotectSheet("your-password-here");
workBook.SaveAs("UnprotectedReport.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Load("ProtectedReport.xlsx");
WorkSheet sheet = workBook.WorkSheets[0];
// Remove sheet protection programmatically
sheet.UnprotectSheet("your-password-here");
workBook.SaveAs("UnprotectedReport.xlsx");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Load("ProtectedReport.xlsx")
Dim sheet As WorkSheet = workBook.WorkSheets(0)
' Remove sheet protection programmatically
sheet.UnprotectSheet("your-password-here")
workBook.SaveAs("UnprotectedReport.xlsx")
Excelワークブックレベルの保護でもIronXLがサポートしており、手動でZIPアーカイブを操作する必要はありません。
// Remove Excel workbook structure protection
workBook.Unprotect("workbook-password");
workBook.SaveAs("UnprotectedWorkbook.xlsx");
// Remove Excel workbook structure protection
workBook.Unprotect("workbook-password");
workBook.SaveAs("UnprotectedWorkbook.xlsx");
Excelのインストールは不要です。 ASP.NETウェブアプリ、コンソールアプリ、Azure Functions、Windows Servicesで動作します。 NuGet経由でライブラリをダウンロードし、プロジェクトに数分で追加できます。
完全なドキュメントを探って、Excelファイルをプログラムで保護、保護解除、そしてセキュリティを管理する方法については、IronXL Excelライブラリページをご覧ください。 *
リファレンス: どのメソッドを使うべきですか?
|状況|最適な方法| |---|---| | パスワードが設定されていない | レビュータブ → シートの保護解除をクリック | | パスワードなし、キーボード優先 | Alt → R → PS | | パスワードが不明、マクロが有効 | VBAブルートフォースマクロ(方法4) | | パスワードが不明、マクロなし | XMLファイルを編集(方法7) | | 簡単な修正、データを編集するだけ | Google Sheetsのアップロード(方法5) | | Excelワークブックの構造がロックされています | 最初にワークブックを保護解除(方法6) | | バッチ処理/自動化 | IronXL for .NET(開発者セクション) |
まとめ
Excelシートを保護解除する方法を知ることは、初めてでは不可能に感じ、2回目では明白になります。 ほとんどのユーザーにとって、それは2秒の作業です: レビュータブをクリックし、シートの保護解除をクリックします。 持っていないExcelパスワードを求められた場合、VBAブルートフォース法とXMLファイルアプローチの両方が、何もダウンロードする専門ソフトウェアなしで動作します。
ほとんどのビデオチュートリアルが見逃している最大のこと: シート保護とワークブック保護は別物です。 右クリックメニューがグレーアウトされている、または"シートの保護解除"ボタンが何も実行しない場合、まずレビュータブのワークブックの保護設定を確認してください。この区別だけで、あなたは多くの時間とイライラを救うことができます。
どの方法を使用するにせよ、XLSXファイルのバックアップコピーを作成してから開始してください。 バックアップされたスプレッドシートの作成には2秒かからず、破損したファイルからあなたを救うかもしれません。




