【问题标题】:Protect specific sheets on workbook open保护打开的工作簿上的特定工作表
【发布时间】:2017-01-13 14:16:01
【问题描述】:

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

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。有人可以帮我修改代码吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    怎么样:

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

    如果工作表未命名为“Sheet1”、“Sheet2”、...,则只需遍历工作表名称即可。

    【讨论】:

      【解决方案2】:

      我设法找到了答案。

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

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

      【讨论】:

        猜你喜欢
        • 2015-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多