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

我有以下代码来保护我的工作簿中的所有工作表,除了我有一个macrosbutton。

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 

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

怎么样:

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

如果这些图纸没有命名为“Sheet1”,“Sheet2”,…,则只是循环显示图纸名称。

我设法find答案。

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

我认为上述解决scheme的问题是我没有被设置为一个variables。