メインコンテンツにスキップ

Excelシートの保護を解除(パスワードあり/なし)

ワークシートを編集できない? パスワード入力から「シート保護の解除」ボタンがグレーアウトのときの対処まで、最速の解決策を解説。
· 8 分 読む

AIで探求

Excelには、ワークシートをロックして不要な変更を防ぐ機能があります。これは、財務データ、レポート、共有ファイルなどの重要な情報を保護するために設計されています。同じドキュメントを複数人で使う場合でも、整理された状態を保ち、ミスを防げます。

ただし、情報を更新するために保護されたシートを変更しなければならないこともあります。その場合、まずシートの保護を解除する必要があります。本ガイドでは、パスワードの有無にかかわらず、Excelシートの保護を解除するさまざまな方法を紹介します。

パスワードがある場合にExcelシートの保護を解除する

パスワードがわかっているときにシートの保護を解除する方法:

  1. リボンの校閲タブに移動し、シート保護の解除をクリックします。 
  2. ポップアップにパスワードを入力し、OKをクリックします。 

これはシート単体にも、ブック全体にも有効です。ブック全体が保護されている場合も手順はほぼ同じで、違いは シート保護の解除ではなく、ブックの保護を校閲タブでクリックし、手順2を繰り返す点です。 

既知のパスワードでExcelのシート保護を解除する様子。

パスワードでシート保護を解除。画像:著者作成。

パスワードがない場合にExcelシートの保護を解除する

シートのパスワードを忘れた、またはロックされたExcelシートを受け取った場合、いくつかの方法を試せます。最新のExcelは回避が難しい高度な暗号化を採用していますが、以下の方法が役に立つことがあります。

方法1:VBAコードを使う

保護シートがロックされていてパスワードがわからない場合、VBAマクロで解除を試せます。これは総当たり的な手法で、単純なパスワードにしか効かないかもしれません。また、組み合わせの試行に時間がかかる場合があります。 

  1. まず、ブックを古いバージョンのExcelで保存します。[ファイル] > [エクスポート] > [ファイルの種類の変更] > [Excel 97-2003] を選びます。  

  2. 保護されたシートを開き、Alt + F11でVisual Basic for Applications(VBA)を開きます。 

  3. 左側のパネルで保護されたシート(ここでは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
  1. [実行] をクリックするか F5 を押してマクロを実行し、完了するまで待ちます。マクロは新しいパスワードを生成します。元のパスワードとは限りませんが、シートのロックを解除できる場合があります。 

  2. メッセージでOKをクリックすると、シートの保護が解除されます。

完了したら、先にファイル形式を変更していた場合は、拡張子を.xlsxに戻して機能を復元してください。

ExcelでVBAマクロを使ってシート保護を解除する様子。

VBAマクロでパスワードを解析。画像:著者作成。

この例では、6文字のパスワードであることがわかっている前提で探しています。パスワードに確信が持てない場合は別のVBAスクリプトが必要になるでしょう。範囲が広すぎると時間がかかりすぎ、狭すぎると当たりません。何度か試すことになると考えてください。

方法2:拡張子をZIPに変更する

VBAがうまくいかない、またはマクロを実行したくない場合は、ファイルの内部構造を編集してシート保護を外す方法もあります。Excelファイルは複数のXMLファイルを含む圧縮フォルダなので、該当するXMLを変更することでシートを解除できます。手順は次のとおりです。

  1. Excelファイルのバックアップ(コピー)を作成します。 

  2. エクスプローラーでコピーしたExcelファイルを右クリックし、名前の変更を選んで、拡張子を.xlsxから.zipに変更します。警告のポップアップが表示されたら、はいをクリックして確定します。

Windowsエクスプローラーでxlsxファイルをzipに変更する様子(Excel)。

xlsxファイルをzipに変更。画像:著者作成。

  1. そのzipファイルを開き、xl → worksheets フォルダに移動します。ここにすべてのXMLファイルがあります。

zipフォルダ内で対象のXMLファイルを探す様子(Excel)。

zipフォルダ内のXMLファイルを特定。画像:著者作成。

  1. 保護されているシートのXMLファイルを特定します。どのシートが保護されているかわからない場合は、各XMLファイルをメモ帳などのテキストエディタで開き、Ctrl+Fでprotectionを検索します。<sheetProtection>タグがあれば、そのファイルは保護されています。

  2. 次に、<sheetProtection>タグ全体を、開始の<と終了の>も含めて削除します。Ctrl + Sで保存します。

zip拡張子の方法でシート保護を解除する(Excel)。

zip拡張子を使ってシート保護を解除。画像:著者作成。

  1. テキストエディタを閉じる際、アーカイブ内の変更保存に関する確認が出たら承認します。その後、ZIPファイルを閉じます。

  2. 拡張子を.zipから.xlsxに戻します。

Excelはシート保護の設定をXML内に保存しています。<sheetProtection>タグを削除すると、ブックの他の部分に影響を与えずにロックのみを無効化できます。この方法は手早く、コーディング不要で、パスワードが不明でも機能します。

方法3:Googleスプレッドシートを使う

コードを書いたりファイルを編集したりせずにシート保護を外したいなら、Googleスプレッドシートが有力です。保護されたExcelファイルをアップロードすると、Googleスプレッドシートは自動的にシート保護を解除し、自由に編集できるようにします。

  1. Googleドライブにアクセスし、ロックされたExcelファイルをアップロードします。
  2. ファイルを右クリックして、アプリで開く > Googleスプレッドシートを選びます。
  3. ファイルが開くと、ワークシートの保護は自動的に解除されます。
  4. 必要な編集を行います。
  5. Excelファイルとして保存するには、ファイル > ダウンロード > Microsoft Excel(.xlsx)を選びます。

GoogleスプレッドシートはExcelのシート保護を同じ方法でサポートしていないため、変換時に制限が自動的に解除されます。手間のない簡単な解決策です。

すべてのシートを一度に保護解除する方法

Excelには、ワンステップで全シートを保護解除する組み込みコマンドはありません。複数のシートタブを選択するとシート保護の解除ボタンもグレーアウトします。パスワードがわかっている場合、次の3つの選択肢があります。

少数のシートであれば、1枚ずつ解除します。各シートタブをクリックし、校閲 > シート保護の解除を選んで、パスワードを入力します。

同じパスワードが設定された多数のシートには、短いマクロを使います。

  1. Alt + F11でVBAエディタを開きます。
  2. 挿入 > 標準モジュールに進み、以下のマクロを貼り付けます。
  3. 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でセルの書式設定を開き、保護タブでロックのチェックを外します。 

シート内のすべてのセルのロックを解除(Excel)。

シート内のすべてのセルのロックを解除。画像:著者作成。

次に、住所列以外のすべての列を選択してロックし、相手が触れないようにします。そして再度セルの書式設定ウィンドウ(Ctrl+1)を開き、保護タブでロックにチェックを入れます。校閲タブでシート保護を選んでパスワードを入力します。これで、ロックを外した範囲を除きシート全体が保護され、特定の範囲だけ編集できるようになります。

ヒント:非連続の行を選択するには、Ctrlキーを押しながらセルを選択します。連続する行や列を選択するには、列見出し上をドラッグします。 

Excelシートで特定セルの保護と解除を行う様子。

シート内の特定セルを保護。画像:著者作成。

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 の各コースがおすすめです。データの整理や分析を効率よく進めるスキルが身につきます。

Laiba Siddiqui

著者

Laiba Siddiqui

複雑なテーマをわかりやすくすることが好きなコンテンツストラテジストです。Splunk、Hackernoon、Tiiny Host などの企業で、読者にとって魅力的で有益なコンテンツの制作を支援してきました。

FAQs

保護されたExcelシートから別のワークシートにデータをコピーできますか?

はい、シートが「ロックされたセルの選択」と「ロックされていないセルの選択」を許可している場合は可能です。Shift + Ctrl + Endで使用済みセルをすべて選択し、Ctrl + Cでコピー、Ctrl + Vで新しいワークシートに貼り付けます。他のブックへの外部リンクは切れる可能性があり、手動で再作成が必要です。

Excelシートでロック/ロック解除されたセルを見つけるには?

セルがロックされているかどうかは、CELL()関数で確認できます。

  • 任意のセルに次の数式を入力:=CELL("protect", A1)

  • 結果が1(TRUE)ならロック、0(FALSE)ならロック解除です。

Excelでロック/ロック解除されたセルを強調表示するには?

条件付き書式でロック/ロック解除されたセルを強調表示できます。

  • まず、シートの保護を解除します。

  • 確認したい範囲を選択します。

  • [ホーム > 条件付き書式 > 新しいルール] に進みます。

  • 次の数式を使います:

             ロックされたセル: =CELL("protect", A1)=1

            ロック解除されたセル: =CELL("protect", A1)=0

  • ハイライト色を選んでルールを適用します。

トピック