教えて!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"

 

使い方

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

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

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

[プログラミング例]:

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

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

f:id:m_kbou:20210307084711p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210307084727p:plain

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

f:id:m_kbou:20210307084741p:plain

③Sheet1シートのA1セルに値を入力しようとすると、「変更しようとしているセルやグラフは保護されている・・・」的なメッセージが表示されます。(※シートが保護されて、データの入力ができない事が確認できます。)

f:id:m_kbou:20210307084754p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

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

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

[プログラミング例]:

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

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

f:id:m_kbou:20210307090700p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)<

f:id:m_kbou:20210307090723p:plain

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

f:id:m_kbou:20210307090738p:plain

③Sheet1シートのA1セルに値(数字の1)を入力すると、入力できる事がわかります。(※シートの保護が解除されて、データを入力できる事を確認できます。)

f:id:m_kbou:20210307090756p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

おわりに

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