ExcelVBA パスワードでワークブックやシートを保護して制限する方法

 

Excel VBAで、パスワードを使用してワークブックやシートのデータを保護できます。特定の操作をパスワードで制限することで、重要な情報や機密データが誤って編集や削除するのを防ぐことができます。

 

使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA パスワードの利用

以下のようなシーンで利用されます。

1.シートを編集できる人を制限したい。

2.機密情報を含むワークブックやシートを開ける人を制限したい。

3.誤って重要なデータが変更されることを防ぎたい。

使い方

VBAコードを使ってパスワードを設定したり解除したりできます。たとえば、シートのロックをかける際にパスワードを設定することで、ロック解除にパスワードを必要にすることが可能です。

 

ポイント

1.パスワードを忘れると解除が難しくなるので、安全な場所に保管しておくことが大切です。

2.Excelのパスワード保護は完全なセキュリティではなく、悪意のある操作で解除される可能性もあるため、完全な保護が必要な場合は他の方法も検討してください。

 

Excel VBA パスワードのサンプルコード

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

シートにパスワードを設定し、保護をかけます。

Option Explicit

Sub ProtectSheetWithPassword()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 保護したいシート名を指定
    
    ' シートをパスワードで保護
    ws.Protect Password:="mypassword"
    
    MsgBox "シートが保護されました。"
End Sub

シート保護を解除する場合は以下のコードを使用します。

Option Explicit

Sub UnprotectSheetWithPassword()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 保護解除したいシート名を指定
    
    ' パスワードを使って保護を解除
    ws.Unprotect Password:="mypassword"
    
    MsgBox "シート保護が解除されました。"
End Sub

1.シートの指定
ThisWorkbook.Sheets("Sheet1")で、保護するシートを指定します。

2.シートの保護
.Protect Password:="mypassword"でシートにパスワードを設定し、保護をかけます。

3.解除コード
.Unprotect Password:="mypassword"で設定したパスワードを使い、保護を解除します。

データを安全に保護し、特定の人のみが操作できるように制限できます。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問