VBA で Excel ワークブックのシート (表示のみ) を保護しようとしています。ユーザーが「シート 2」と「シート 3」のオブジェクトを編集できるようにしたいのですが、他のオブジェクトは編集できません。
これは私が使用しているコードです。
Public Sub WBOpen()
Dim sh As Worksheet
Dim allowObjects As Boolean
For Each sh In Sheets
If sh.Visible = xlSheetVisible Then
**If sh.Name = "Sheet 2" Or "Sheet 3" Then**
allowObjects = True
Else
allowObjects = False
End If
sh.Protect Password:=pw(sh), DrawingObjects:=allowObjects, Contents:=True, Scenarios:=True, AllowFormattingRows:=True, AllowFiltering:=True, UserInterfaceOnly:=True
End If
Next
End Sub
** で囲んだ行で型の不一致エラーが発生します。誰が私が間違っているのか教えてもらえますか?
ありがとうございました