
Excelの業務で、シートごとに保護ロックがかかっているファイルを見たことはありませんか?
手動で1つずつ解除するのは非常に手間ですが、VBAマクロを使えば一括で解除することが可能です!
🔹 VBAを使ってExcelシートのロックを一括解除する方法
① VBAエディタを開く
- Excelを開く
- 「Alt + F11」 を押してVBAエディタを開く
- 「挿入」→「標準モジュール」を選択
② 簡単なVBAコードでシート保護を解除
以下のコードをVBAモジュールに貼り付け、実行すると各シートのロックを1つずつ解除できます。
Sub UnprotectAllSheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Unprotect ' シートのロックを解除
Next ws
End Sub
▶ 実行方法
- 「F5」キーを押してコードを実行
- 各シートごとにパスワード入力画面が表示される
- パスワードを事前にコピーして「Ctrl + V」で貼り付けて「Enter」
- すべてのシートのロックが順番に解除される
③ パスワードを指定して自動解除するVBA
毎回パスワードを手入力するのが面倒な場合は、あらかじめパスワードを設定する方法もあります。
Sub UnlockAllSheets()
Dim ws As Worksheet
Dim password As String
password = "your_password" ' ←ここにパスワードを入力
For Each ws In ThisWorkbook.Sheets
On Error Resume Next ' エラーが出てもスキップ
ws.Unprotect password ' 設定したパスワードで解除
On Error GoTo 0 ' エラー処理を元に戻す
Next ws
End Sub
▶ 実行方法
"your_password"
の部分に正しいパスワードを入力- F5キー でコードを実行
- パスワードが合っていれば、すべてのシートのロックが解除される
⚠ 注意点
- パスワードが正しくないと解除できません。
- 実行前にファイルのバックアップを取ることを推奨。
- シートが保護されていない場合、そのままスキップされます。
✅ まとめ:VBAで作業を効率化しよう!
手動で1つずつ解除するのは手間ですが、VBAを使えば一括で処理が可能です。
- 🔹 簡単な方法 → シートごとに手入力で解除
- 🔹 完全自動化 → 事前にパスワードを設定
このVBAマクロを活用して、日々の業務を効率化しましょう!🚀