教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA シート操作】シートを保護(Protect)又は保護解除(UnProtect)するにはどうすればいいの?教えて!

       f:id:m_kbou:20200418161414p:plain

シートをパスワードを付けて保護又は保護解除する方法について説明します。シートを保護する事で、シートの変更を禁止する事ができます。パスワードは大文字/小文字が区別されますので、十分注意して設定する様にして下さい。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Worksheets(”[シート名]”).Protect PassWord:=[パスワード]

Worksheets(”[シート名]”).UnProtect PassWord:=[パスワード] 

=======================================================================

 

[説明]:

シートをパスワードを付けて保護するには「Worksheets(”[シート名]”).Protect PassWord:=[パスワード]」と記述し、保護解除するには「Worksheets(”[シート名]”).UnProtect PassWord:=[パスワード] 」と記述します[シート名]には保護又は保護解除するシート名を記述し、「”」(ダブルクォーテーション)で囲みます。Protect保護するとの意味となり、UnProtect保護解除するとの意味になります。Protect又はUnProtectの後にPassWord:=を記述し「”」(ダブルクォーテーション)で囲んだ[パスワード]を記述する事で、Protectの場合は記述したパスワードで保護するとの意味になり、UnProtectの場合は記述したパスワードで保護解除するとの意味になります。内容を纏めると、「[シート名]で記述したシートを、指定した[パスワード]で保護又は保護解除して下さい。」との意味になります。

[記述例]:

Worksheets("sheet1").Protect Password:="12345"
Worksheets("sheet1").Unprotect Password:="12345"

 

使い方

使い方について、具体的に説明していきます。

指定したシートをパスワードを付けて保護する方法

指定したシートをパスワードを付けて保護する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Worksheets("sheet1").Protect Password:="12345"
    MsgBox "sheet1を保護しました。"
End Sub

-------------------------------------------------

内容は、「Sheet1シートをパスワード:12345(文字列)で保護設定し、最後にMsgBoxで”Sheet1を保護しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

※”Sheet1を保護しました。”のメッセージが表示されます。

f:id:m_kbou:20190816121241p:plain

※Sheet1シートのA1セルに値を入力しようとすると、「シートが保護されています・・・」的なメッセージが表示されます。

f:id:m_kbou:20190816121258p:plain

指定したシートをパスワードを付けて保護する方法についての説明は以上です。

 

保護されたシートをパスワードを指定して保護解除する方法

保護されたシートをパスワードを指定して保護解除する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Worksheets("sheet1").Unprotect Password:="12345"
    MsgBox "sheet1を保護解除しました。"
End Sub

-------------------------------------------------

内容は、「保護設定されているSheet1シートをパスワード:12345(文字列)で保護解除し、最後にMsgBoxで”Sheet1を保護解除しました。”のメッセージを表示して下さい。」との意味になります。

[実行例]:

※”Sheet1を保護解除しました。”のメッセージが表示されます。

f:id:m_kbou:20190816121315p:plain

※Sheet1シートのA1セルに値(数字の1)を入力すると、入力できる事がわかります。

f:id:m_kbou:20190816122010p:plain

保護されたシートをパスワードを指定して保護解除する方法についての説明は以上です。

 

おわりに

今回はシートをパスワードを指定して保護又は保護解除する方法について説明しました。パスワードは大文字/小文字も判別しますので、注意して設定する様にして下さい。