使用VBA锁定2x辅助工作表,同时允许主工作表在受保护的情况下提取信息

问题描述 投票:0回答:1

我想使用 VBA 使用相同的密码保护 2 个辅助(项目)(服务)工作表, 但允许主要(综合)工作表在受保护的情况下从这些工作表中提取信息。

我目前正在使用以下内容来保护工作簿,因为我需要它在工作簿关闭时自动保护。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

   Dim xSheet As Worksheet
   Dim xPsw As String
   xPsw = "####"
   For Each xSheet In Worksheets
   xSheet.Protect xPsw
   Next
   End Sub

Secondary (Project)

我正在使用它从这些表格中提取信息,(项目)(服务)

Sub copyFormat()

 
    With ThisWorkbook
        .Worksheets("Project").Range("D9:TJ28").Copy
        .Worksheets("Comprehensive").Range("D10:TJ29").PasteSpecial xlPasteFormats
        .Worksheets("Service").Range("D9:TJ28").Copy
        .Worksheets("Comprehensive").Range("D30:TJ49").PasteSpecial xlPasteFormats
    End With
 
 With ThisWorkbook
        .Worksheets("Project").Range("A9:C28").Copy
        .Worksheets("Comprehensive").Range("A10:C29").PasteSpecial
        .Worksheets("Service").Range("A9:C28").Copy
        .Worksheets("Comprehensive").Range("A30:C49").PasteSpecial
    End With

End Sub

由于我希望每个人都可以访问主要(综合)工作表,因此可以使用指定的宏点击“更新”按钮,从辅助工作表(项目)(服务)中提取最新的信息,而无需解锁它们。

Primary (Comprehensive)

任何帮助将不胜感激,谢谢

请参阅上面详细我当前的文档信息

excel vba substring
1个回答
0
投票

您必须将取消保护/保护添加到您的宏中:

Sub copyFormat()
Dim xPsw As String
   xPsw = "####"
 
    With ThisWorkbook

        .Worksheets("Comprehensive").Unprotct xPsw   '<---- add this line of code

        .Worksheets("Project").Range("D9:TJ28").Copy
        .Worksheets("Comprehensive").Range("D10:TJ29").PasteSpecial xlPasteFormats
        .Worksheets("Service").Range("D9:TJ28").Copy
        .Worksheets("Comprehensive").Range("D30:TJ49").PasteSpecial xlPasteFormats
    End With
 
    With ThisWorkbook
        .Worksheets("Project").Range("A9:C28").Copy
        .Worksheets("Comprehensive").Range("A10:C29").PasteSpecial
        .Worksheets("Service").Range("A9:C28").Copy
        .Worksheets("Comprehensive").Range("A30:C49").PasteSpecial

        .Worksheets("Comprehensive").Protect xPsw   '<---- add this line of code


    End With

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.