Excelには、ワークシートをロックして不要な変更を防ぐ機能があります。これは、財務データ、レポート、共有ファイルなどの重要な情報を保護するために設計されています。同じドキュメントを複数人で使う場合でも、整理された状態を保ち、ミスを防げます。
ただし、情報を更新するために保護されたシートを変更しなければならないこともあります。その場合、まずシートの保護を解除する必要があります。本ガイドでは、パスワードの有無にかかわらず、Excelシートの保護を解除するさまざまな方法を紹介します。
パスワードがある場合にExcelシートの保護を解除する
パスワードがわかっているときにシートの保護を解除する方法:
リボンの 校閲 タブに移動し、 シート保護の解除 をクリックします。
ポップアップに パスワード を入力し、 OK をクリックします。
これはシート単体にも、ブック全体にも有効です。ブック全体が保護されている場合も手順はほぼ同じで、違いは シート保護の解除 ではなく、 ブックの保護 を 校閲 タブでクリックし、手順2を繰り返す点です。
パスワードでシート保護を解除。画像:著者作成。
パスワードがない場合にExcelシートの保護を解除する
シートのパスワードを忘れた、またはロックされたExcelシート を受け取った場合、いくつかの方法を試せます。最新のExcelは回避が難しい高度な暗号化を採用していますが、以下の方法が役に立つことがあります。
方法1:VBAコードを使う
保護シートがロックされていてパスワードがわからない場合、VBAマクロで解除を試せます。これは総当たり的な手法で、単純なパスワードにしか効かないかもしれません。また、組み合わせの試行に時間がかかる場合があります。
まず、ブックを古いバージョンのExcelで保存します。[ ファイル ] > [ エクスポート ] > [ ファイルの種類の変更 ] > [ Excel 97-2003 ] を選びます。
保護されたシートを開き、Alt + F11で Visual Basic for Applications (VBA)を開きます。
左側のパネルで保護されたシート(ここでは Employee Data )を選び、以下のパスワード解析マクロを貼り付けます。
Sub UnprotectSheet()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim password As String
On Error Resume Next
For i = 65 To 90
For j = 65 To 90
For k = 65 To 90
For l = 65 To 90
For m = 65 To 90
For n = 65 To 90
password = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(n)
ActiveSheet.Unprotect password
If Err.Number = 0 Then
MsgBox "Sheet Unprotected! Password Found: " & password, vbInformation, "Success"
Exit Sub
End If
Next n
Next m
Next l
Next k
Next j
Next i
MsgBox "Could not unlock the sheet.", vbExclamation, "Failed"
End Sub提供:
[ 実行 ] をクリックするか F5 を押してマクロを実行し、完了するまで待ちます。マクロは新しいパスワードを生成します。元のパスワードとは限りませんが、シートのロックを解除できる場合があります。
メッセージで OK をクリックすると、シートの保護が解除されます。
完了したら、先にファイル形式を変更していた場合は、拡張子を.xlsxに戻して機能を復元してください。
VBAマクロでパスワードを解析。画像:著者作成。
この例では、6文字のパスワードであることがわかっている前提で探しています。パスワードに確信が持てない場合は別のVBAスクリプトが必要になるでしょう。範囲が広すぎると時間がかかりすぎ、狭すぎると当たりません。何度か試すことになると考えてください。
方法2:拡張子をZIPに変更する
VBAがうまくいかない、またはマクロを実行したくない場合は、ファイルの内部構造を編集してシート保護を外す方法もあります。Excelファイルは複数のXMLファイルを含む圧縮フォルダなので、該当するXMLを変更することでシートを解除できます。手順は次のとおりです。
Excelファイルのバックアップ(コピー)を作成します。
エクスプローラー でコピーしたExcelファイルを右クリックし、 名前の変更 を選んで、拡張子を.xlsxから.zipに変更します。 警告のポップアップが表示されたら、 はい をクリックして確定します。
xlsxファイルをzipに変更。画像:著者作成。
その zip ファイルを開き、 xl → worksheets フォルダに移動します。ここにすべての XML ファイルがあります。
zipフォルダ内のXMLファイルを特定。画像:著者作成。
保護されているシートのXMLファイルを特定します。どのシートが保護されているかわからない場合は、各XMLファイルをメモ帳などのテキストエディタで開き、 Ctrl+Fで protection を検索します。<sheetProtection>タグがあれば、そのファイルは保護されています。
次に、<sheetProtection>タグ全体を、開始の<と終了の>も含めて削除します。Ctrl + Sで保存します。
zip拡張子を使ってシート保護を解除。画像:著者作成。
テキストエディタを閉じる際、 アーカイブ内の変更保存に関する確認が出たら承認します。その後、ZIPファイルを閉じます。
拡張子を .zipから .xlsxに戻します。
Excelはシート保護の設定をXML内に保存しています。<sheetProtection>タグを削除すると、ブックの他の部分に影響を与えずにロックのみを無効化できます。この方法は手早く、コーディング不要で、パスワードが不明でも機能します。
方法3:Googleスプレッドシートを使う
コードを書いたりファイルを編集したりせずにシート保護を外したいなら、Googleスプレッドシート が有力です。保護されたExcelファイルをアップロードすると、Googleスプレッドシートは自動的にシート保護を解除し、自由に編集できるようにします。
Googleドライブにアクセスし、ロックされたExcelファイルをアップロードします。
ファイルを右クリックして、 アプリで開く > Googleスプレッドシート を選びます。
ファイルが開くと、ワークシートの保護は自動的に解除されます。
必要な編集を行います。
Excelファイルとして保存するには、 ファイル > ダウンロード > Microsoft Excel(.xlsx) を選びます。
GoogleスプレッドシートはExcelのシート保護を同じ方法でサポートしていないため、変換時に制限が自動的に解除されます。手間のない簡単な解決策です。
すべてのシートを一度に保護解除する方法
Excelには、ワンステップで全シートを保護解除する組み込みコマンドはありません。複数のシートタブを選択するとシート保護の解除 ボタンもグレーアウトします。パスワードがわかっている場合、次の3つの選択肢があります。
少数のシートであれば、1枚ずつ解除します。各シートタブをクリックし、校閲 > シート保護の解除 を選んで、パスワードを入力します。
同じパスワードが設定された多数のシートには、短いマクロを使います。
Alt + F11でVBAエディタを開きます。
挿入 > 標準モジュール に進み、以下のマクロを貼り付けます。
F5を押し、表示されたボックスにパスワードを入力します。
Sub UnprotectAllSheets()
Dim ws As Worksheet
Dim pw As String
pw = InputBox("Enter the sheet password:")
For Each ws In ActiveWorkbook.Worksheets
ws.Unprotect Password:=pw
Next ws
End Sub提供:
シートごとに異なるパスワードがあるとマクロはエラーで停止し、保護されていないシートはスキップされます。グラフシートには影響しません。終了したら、.xlsxで保存するとマクロは削除されます。
Kutools for Excel のようなアドインでも実行できますが、サードパーティソフトのインストールが必要です。
保護されたシートで特定のセルだけ編集可能にする方法
シートの保護は維持しつつ、特定のセルだけ編集可能にしたい場合は、次の手順で実行できます。
たとえばデータセットを用意して、クライアントには住所だけを書き込んでもらい、ほかは編集させたくないとします。まず上記のいずれかの方法でシートの保護を解除します。次にCtrl+Aまたはすべて選択ボタンでシート全体を選択します。Ctrl+1で セルの書式設定 を開き、 保護 タブで ロック のチェックを外します。
シート内のすべてのセルのロックを解除。画像:著者作成。
次に、 住所 列以外のすべての列を選択してロックし、相手が触れないようにします。そして再度 セルの書式設定 ウィンドウ(Ctrl+1)を開き、 保護 タブで ロック にチェックを入れます。校閲タブで シート保護 を選んでパスワードを入力します。これで、ロックを外した範囲を除きシート全体が保護され、特定の範囲だけ編集できるようになります。
ヒント :非連続の行を選択するには、Ctrlキーを押しながらセルを選択します。連続する行や列を選択するには、列見出し上をドラッグします。
シート内の特定セルを保護。画像:著者作成。
Excelシートの保護を解除できないとき
シートの保護を解除できない場合、次の点を確認してください。
暗号化は解除できない: ブック自体がパスワードで暗号化されている場合、パスワードなしで解除する方法はありません。Excelに暗号化を回避する機能はないため、パスワードがなければ手詰まりです。
複雑なパスワードは復元困難: VBAスクリプトで保護解除できる場合もありますが、強力なパスワードでは機能しないことがあります。スクリプトで失敗した場合、他の手作業の方法でも効果がない可能性があります。
編集前にバックアップを作成: 作業の前に必ずバックアップを保存してください。XMLの編集やVBAマクロの実行によってファイルが破損し、データを失う恐れがあります。
Excelで「シート保護の解除」がグレーアウトするのはなぜ?
「シート保護の解除」がグレーアウトしている場合、何かがコマンドを妨げています。以下の状況に当てはまるものを確認し、対処してください。
シートが保護されていない :校閲 タブに シートの保護 と表示され、 シート保護の解除 になっていないなら、解除するものはありません。ロックされたセルは、シートが保護されて初めて意味を持ちます。編集できない場合は、以下の他の原因も確認してください。
保護ビューで開いている :メールやWebから入手したファイルは、上部に黄色のバーで保護された表示 と表示されることがあります。[ 編集を有効にする ]をクリックすると、ボタンが有効になります。
最終版に指定されている :上部のバーに最終版に設定 とある場合は、 編集を有効にする (または とにかく編集 )をクリックします。
シートがグループ化されている :タイトルバーに[グループ] と出ていると、操作が制限されます。選択されているタブを右クリックし、 シートのグループ解除 を選びます。
ブックが共有されている :レガシーな共有ブックでは、タイトルバーに[共有] と表示され、シートの保護や解除ができません。校閲 > ブックの共有(レガシ) に進み、複数ユーザーによる同時変更を許可するチェックを外します。
セルが編集モードにある :カーソルがセル内で点滅していると、リボンの多くがグレーアウトします。EnterまたはEscを押してから、再度校閲 タブを確認します。
ブラウザまたはTeamsで開いている :ブラウザやTeamsでファイルを開くと、多くのボタンが無効になります。デスクトップ アプリで開く (または Excelで開く )を選んで試してください。
どれにも当てはまらない :上記をすべて除外したら、ファイルを閉じてExcelをセーフモードで起動し、アドインを無効化します。Windowsでは、Excel起動時にCtrlを押しながら起動し、ファイルを開きます。ボタンが有効になったらクリックしてパスワードを入力します。
方法のクイック比較
以下の表は本記事で紹介した各方法のまとめです。参考になれば幸いです。
方法 パスワード要否 難易度 暗号化ファイルで有効? 最適な用途 校閲 > シート保護の解除 はい 簡単 はい パスワードがわかっているとき VBAマクロ いいえ 中程度 いいえ 古い形式での単純なパスワード ZIPファイル方式 いいえ 中程度 いいえ .xlsxファイルのシート保護解除 Googleスプレッドシート いいえ 簡単 いいえ コード不要の迅速な対処
まとめ
パスワードがあるなら、数クリックで解決します:校閲 > シート保護の解除 。ボタンがグレーアウトしている場合は、上記の原因のいずれかが該当するはずです。
自分のファイルのパスワードを紛失した場合、上記の方法は古い形式や単純な保護には有効かもしれませんが、最新のExcelの暗号化は回避できません。パスワードマネージャーの利用と重要ファイルのバックアップが次回の助けになります。
これらの方法は、自分のファイル、または明確な許可を得たファイルにのみ使ってください。許可なく保護を回避することは、会社のポリシーや利用規約、法令に違反する可能性があります。業務ファイルの場合はIT部門に相談してください。
データをさらに学ぶなら、Data Analysis in Excel と Data Preparation in Excel の各コースがおすすめです。データの整理や分析を効率よく進めるスキルが身につきます。
Excelには、ワークシートをロックして不要な変更を防ぐ機能があります。これは、財務データ、レポート、共有ファイルなどの重要な情報を保護するために設計されています。同じドキュメントを複数人で使う場合でも、整理された状態を保ち、ミスを防げます。
ただし、情報を更新するために保護されたシートを変更しなければならないこともあります。その場合、まずシートの保護を解除する必要があります。本ガイドでは、パスワードの有無にかかわらず、Excelシートの保護を解除するさまざまな方法を紹介します。
パスワードがある場合にExcelシートの保護を解除する
パスワードがわかっているときにシートの保護を解除する方法:
これはシート単体にも、ブック全体にも有効です。ブック全体が保護されている場合も手順はほぼ同じで、違いは シート保護の解除ではなく、ブックの保護を校閲タブでクリックし、手順2を繰り返す点です。
パスワードでシート保護を解除。画像:著者作成。
パスワードがない場合にExcelシートの保護を解除する
シートのパスワードを忘れた、またはロックされたExcelシートを受け取った場合、いくつかの方法を試せます。最新のExcelは回避が難しい高度な暗号化を採用していますが、以下の方法が役に立つことがあります。
方法1:VBAコードを使う
保護シートがロックされていてパスワードがわからない場合、VBAマクロで解除を試せます。これは総当たり的な手法で、単純なパスワードにしか効かないかもしれません。また、組み合わせの試行に時間がかかる場合があります。
まず、ブックを古いバージョンのExcelで保存します。[ファイル] > [エクスポート] > [ファイルの種類の変更] > [Excel 97-2003] を選びます。
保護されたシートを開き、
Alt + F11でVisual Basic for Applications(VBA)を開きます。左側のパネルで保護されたシート(ここではEmployee Data)を選び、以下のパスワード解析マクロを貼り付けます。
[実行] をクリックするか
F5を押してマクロを実行し、完了するまで待ちます。マクロは新しいパスワードを生成します。元のパスワードとは限りませんが、シートのロックを解除できる場合があります。メッセージでOKをクリックすると、シートの保護が解除されます。
完了したら、先にファイル形式を変更していた場合は、拡張子を
.xlsxに戻して機能を復元してください。VBAマクロでパスワードを解析。画像:著者作成。
この例では、6文字のパスワードであることがわかっている前提で探しています。パスワードに確信が持てない場合は別のVBAスクリプトが必要になるでしょう。範囲が広すぎると時間がかかりすぎ、狭すぎると当たりません。何度か試すことになると考えてください。
方法2:拡張子をZIPに変更する
VBAがうまくいかない、またはマクロを実行したくない場合は、ファイルの内部構造を編集してシート保護を外す方法もあります。Excelファイルは複数のXMLファイルを含む圧縮フォルダなので、該当するXMLを変更することでシートを解除できます。手順は次のとおりです。
Excelファイルのバックアップ(コピー)を作成します。
エクスプローラーでコピーしたExcelファイルを右クリックし、名前の変更を選んで、拡張子を
.xlsxから.zipに変更します。警告のポップアップが表示されたら、はいをクリックして確定します。xlsxファイルをzipに変更。画像:著者作成。
zipフォルダ内のXMLファイルを特定。画像:著者作成。
保護されているシートのXMLファイルを特定します。どのシートが保護されているかわからない場合は、各XMLファイルをメモ帳などのテキストエディタで開き、Ctrl+Fでprotectionを検索します。
<sheetProtection>タグがあれば、そのファイルは保護されています。次に、
<sheetProtection>タグ全体を、開始の<と終了の>も含めて削除します。Ctrl + Sで保存します。zip拡張子を使ってシート保護を解除。画像:著者作成。
テキストエディタを閉じる際、アーカイブ内の変更保存に関する確認が出たら承認します。その後、ZIPファイルを閉じます。
拡張子を
.zipから.xlsxに戻します。Excelはシート保護の設定をXML内に保存しています。
<sheetProtection>タグを削除すると、ブックの他の部分に影響を与えずにロックのみを無効化できます。この方法は手早く、コーディング不要で、パスワードが不明でも機能します。方法3:Googleスプレッドシートを使う
コードを書いたりファイルを編集したりせずにシート保護を外したいなら、Googleスプレッドシートが有力です。保護されたExcelファイルをアップロードすると、Googleスプレッドシートは自動的にシート保護を解除し、自由に編集できるようにします。
GoogleスプレッドシートはExcelのシート保護を同じ方法でサポートしていないため、変換時に制限が自動的に解除されます。手間のない簡単な解決策です。
すべてのシートを一度に保護解除する方法
Excelには、ワンステップで全シートを保護解除する組み込みコマンドはありません。複数のシートタブを選択するとシート保護の解除ボタンもグレーアウトします。パスワードがわかっている場合、次の3つの選択肢があります。
少数のシートであれば、1枚ずつ解除します。各シートタブをクリックし、校閲 > シート保護の解除を選んで、パスワードを入力します。
同じパスワードが設定された多数のシートには、短いマクロを使います。
シートごとに異なるパスワードがあるとマクロはエラーで停止し、保護されていないシートはスキップされます。グラフシートには影響しません。終了したら、.xlsxで保存するとマクロは削除されます。
Kutools for Excelのようなアドインでも実行できますが、サードパーティソフトのインストールが必要です。
保護されたシートで特定のセルだけ編集可能にする方法
シートの保護は維持しつつ、特定のセルだけ編集可能にしたい場合は、次の手順で実行できます。
たとえばデータセットを用意して、クライアントには住所だけを書き込んでもらい、ほかは編集させたくないとします。まず上記のいずれかの方法でシートの保護を解除します。次に
Ctrl+Aまたはすべて選択ボタンでシート全体を選択します。Ctrl+1でセルの書式設定を開き、保護タブでロックのチェックを外します。シート内のすべてのセルのロックを解除。画像:著者作成。
次に、住所列以外のすべての列を選択してロックし、相手が触れないようにします。そして再度セルの書式設定ウィンドウ(
Ctrl+1)を開き、保護タブでロックにチェックを入れます。校閲タブでシート保護を選んでパスワードを入力します。これで、ロックを外した範囲を除きシート全体が保護され、特定の範囲だけ編集できるようになります。ヒント:非連続の行を選択するには、
Ctrlキーを押しながらセルを選択します。連続する行や列を選択するには、列見出し上をドラッグします。シート内の特定セルを保護。画像:著者作成。
Excelシートの保護を解除できないとき
シートの保護を解除できない場合、次の点を確認してください。
Excelで「シート保護の解除」がグレーアウトするのはなぜ?
「シート保護の解除」がグレーアウトしている場合、何かがコマンドを妨げています。以下の状況に当てはまるものを確認し、対処してください。
方法のクイック比較
以下の表は本記事で紹介した各方法のまとめです。参考になれば幸いです。
まとめ
パスワードがあるなら、数クリックで解決します:校閲 > シート保護の解除。ボタンがグレーアウトしている場合は、上記の原因のいずれかが該当するはずです。
自分のファイルのパスワードを紛失した場合、上記の方法は古い形式や単純な保護には有効かもしれませんが、最新のExcelの暗号化は回避できません。パスワードマネージャーの利用と重要ファイルのバックアップが次回の助けになります。
これらの方法は、自分のファイル、または明確な許可を得たファイルにのみ使ってください。許可なく保護を回避することは、会社のポリシーや利用規約、法令に違反する可能性があります。業務ファイルの場合はIT部門に相談してください。
データをさらに学ぶなら、Data Analysis in Excel と Data Preparation in Excel の各コースがおすすめです。データの整理や分析を効率よく進めるスキルが身につきます。