Я пытаюсь защитить листы (только видимые) в моей книге Excel в VBA. Я хочу разрешить пользователям редактировать объекты на «Лист 2» и «Лист 3», но не на других.Как защитить листы с различными параметрами в Excel VBA?
Это код, который я использую.
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
Я получаю ошибку несоответствия типа на линии, которую я обернул **. Может ли кто-нибудь сказать мне, где я ошибаюсь?
Спасибо
Вы пробовали: Если sh.Name = "Sheet 2" или sh.Name = "Sheet 3" – Randy
Кроме того, убедитесь, что на «Листе 2», на который вы ссылаетесь, на самом деле есть пробел, когда вы смотрите на вкладку. По умолчанию вкладки не имеют места (например, «Лист2»). – Zairja
Рэнди - по-прежнему получает ту же ошибку – user1187347