我想在VBA的Excel工作簿中保護工作表(僅可見)。我想允許用戶在「工作表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
另外,請確保在查看選項卡時引用的「Sheet 2」實際上具有空格。默認情況下,這些選項卡沒有空格(例如「Sheet2」)。 – Zairja
蘭迪 - 仍然有相同的錯誤 – user1187347