保护工作簿上的特定工作表打开

时间:2017-01-13 14:16:01

标签: excel vba

我有以下代码来保护工作簿中的所有工作表,而不是我有一个宏按钮。

Private Sub Workbook_open()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    Select Case ws.Name
        Case "Rota"
        Case Else: ws.Protect password:="1234", userinterfaceonly:=True
    End Select
Next ws

End Sub

问题是宏创建了新工作表,我不希望在打开工作簿时保护它。我只需要保护1到6页。任何人都可以帮我修改代码吗?

2 个答案:

答案 0 :(得分:1)

怎么样:

Private Sub Workbook_Open()
    For i = 1 To 6
        Sheets("Sheet" & i).Protect Password:="1234", userinterfaceonly:=True
    Next i
End Sub

如果工作表未命名" Sheet1"," Sheet2",...,只需遍历工作表名称。

答案 1 :(得分:0)

我设法找到了答案。

Private Sub Workbook_Open()
Dim i As Long
For i = 1 To 6
    Sheets(i).Protect password:="1234", userinterfaceonly:=True
Next i
End Sub

我认为上述解决方案的问题是我没有被设置为变量。