ProtectContents

Excelでシートが保護されているのに気付かず、VBAでセルを操作しようとしたりするとエラーになります。

VBAでシート保護されているかどうかを調べるには「ProtectContents」を使います。

下図は、Excel2016です。

< スポンサーリンク >





 

シートの内容が保護されているかどうかをメッセージで表示してみます。

Sub test()
    With ActiveSheet
        If .ProtectContents = True Then
            MsgBox “保護されています”
        ElseIf .ProtectContents = False Then
            MsbBox “保護されていません”
        End If
    End With
End Sub

ProtectContents

 

保護されている場合

 

保護されていない場合

 

シート保護されている場合は、保護を解除します。

Sub test()
    With ActiveSheet
        If .ProtectContents = True Then
            .Unprotect
        End If
    End With
End Sub

構文

Worksheetオブジェクト.ProtectContents

Trueの場合はシートの内容が保護されています。これにより、個々のセルが保護されます。取得のみ可能なBoolean型です。

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします