VBAで自動化 VBA一覧 セル・シート・ブック操作 保護・解除

【VBA】シート保護と解除:Unprotect/Protect・Password

Excel VBAを使って保護されているシートの保護を解除し、処理を行った後に再び保護をかける方法について説明します。基本的なVBAコードの書き方と、シート保護の操作を自動化するためのステップを紹介します。

ExcelVBAでシート保護の解除方法

Excelのシート保護を解除するためのVBAコードは以下の通りです。

Sub UnprotectSheet()

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 保護を解除するシート名を指定
ws.Unprotect Password:="yourpassword" ' ここにパスワードを入力

End Sub

Worksheet オブジェクトを使用して特定のシート(この例では "Sheet1")を指定し、そのシートの保護を解除しています。

Password プロパティには、シートを保護する際に設定したパスワードを入力します。

ExcelVBAで必要な処理の実行

保護を解除した後は、必要な処理を自由に行うことができます。例えば、セルに値を入力したり、データを編集したりすることが可能です。

Sub EditProtectedSheet()

Call UnprotectSheet ' シートの保護を解除

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("A1").Value = "Updated" ' A1セルに値を更新

Call ProtectSheet ' シートの保護を再設定

End Sub

必要なシート保護の再設定

処理が完了したら、シートを再び保護することが重要です。以下のコードはシートを再保護する方法を示しています。

Sub ProtectSheet()

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Protect Password:="yourpassword" ' 保護のためのパスワードを設定

End Sub

先に解除したシートに再び保護をかけています。パスワードは保護を解除した際と同じものを使用します。【VBA】パスワード解除方法とは?安全に対応するための基本知識と注意点

まとめ

このように、VBAを使ってExcelのシートの保護を解除し、必要な処理を行った後に再び保護をかけることは比較的簡単です。この自動化されたプロセスは、作業の効率化に大いに貢献するでしょう。安全にデータを扱うためには、シートの保護とパスワードの管理に注意してください。

    -VBAで自動化, VBA一覧, セル・シート・ブック操作, 保護・解除