シートを保護又は保護解除するには「Protect」「UnProtect」を使います。
構文
ProtectとUnProtectは、保護と解除を行うためのメソッドです。それぞれの構文と解説を見ていきましょう。
シートの保護(Protectメソッド)
解説
・Worksheets("シート名"):保護対象のシートを指定します。
・パスワード:シートの保護を解除する際に必要なパスワードを指定します。省略可能です。
・オプション:保護の詳細な設定を行うためのパラメータです。省略可能です。
シートの保護解除(UnProtectメソッド)
解説
・Worksheets("シート名"):解除対象のシートを指定します。
・パスワード:シートの保護を解除するために必要なパスワードを指定します。省略可能です。
使い方
ProtectとUnProtectの使い方について具体的に説明します。
・シートの保護
Protectメソッドを使用して、シートを保護する方法を説明します。
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("シート名")
' パスワードなしで保護
ws.Protect
' パスワードありで保護
ws.Protect "パスワード"
' オプションを指定して保護
ws.Protect "パスワード", UserInterfaceOnly:=True, AllowFiltering:=True
End Sub
Set ws = ThisWorkbook.Worksheets("シート名"):保護するシートを指定します。
ws.Protect:パスワードなしで保護します。
ws.Protect "パスワード":指定したパスワードで保護します。
ws.Protect "パスワード", UserInterfaceOnly:=True, AllowFiltering:=True:オプションを指定して保護します。UserInterfaceOnlyは、VBAを使用して保護を解除することを制限し、AllowFilteringは自動フィルタリングの使用を許可します。
・シートの保護解除
UnProtectメソッドを使用して、保護されたシートを解除する方法を説明します。
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("シート名")
' パスワードなしで解除
ws.Unprotect
' パスワードありで解除
ws.Unprotect "パスワード"
End Sub
Set ws = ThisWorkbook.Worksheets("シート名"):解除するシートを指定します。
ws.Unprotect:パスワードなしで保護を解除します。
ws.Unprotect "パスワード":指定したパスワードで保護を解除します。
プログラミング例
具体的なプログラミング例を示します。
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("シート名")
' シートの保護
ws.Protect "パスワード", UserInterfaceOnly:=True
' 保護されたシートに対して処理を実行する
・・・・・・・・・・・・・・・・・
' シートの保護解除
ws.Unprotect "パスワード"
End Sub
この例では、シートを保護し、保護されたシートに対して処理を実行した後に保護を解除しています。
まとめ
ExcelVBAを使ってシートの保護と解除の方法を学びました。Protectメソッドを使用してシートを保護します。パスワードやオプションの設定が可能です。UnProtectメソッドを使用して保護されたシートを解除します。パスワードの指定が可能です。これらのメソッドを適切に活用することで、Excelのデータの保護やセキュリティの向上に役立てることができます。