当电子表格受密码保护时,允许组展开/折叠。即使在关闭文件后

Vit*_*ata 5 excel vba excel-formula

在使用这样的标准代码保护公式时:

Sub TestMe

    dim myCell as range

    with Worksheets(1)
        For Each myCell In .Range("A1:R102").Cells
            If myCell.MergeArea.Cells.Count = 1 Then
                If myCell.HasFormula Then
                    myCell.Locked = True
                Else
                    myCell.Locked = False
                End If
            End If
        Next myCell
        
        .EnableOutlining = True
        .Protect "v", contents:=True, userinterfaceonly:=True
        
    End With

End Sub
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好,公式受到保护,Excel 分组似乎非常实用。但是,在关闭文件并再次打开它后,如果我尝试按+分组上的 ,它不想工作,并给出以下消息:

您不能在受保护的工作表上使用此命令。要使用此命令,您必须首先取消保护工作表(“审阅”选项卡、“更改”组、“取消保护工作表”按钮)。可能会提示您输入密码。

我可能会运行相同的代码来取消保护它然后保护它,这个想法是:

  • 使用 Excel 文件,不使用 VBA
  • 有配方保护
  • 功能分组

我使用的是 MS Office Professional Plus 2013 32 位。

有没有办法做到这一点?甚至手动?我确实选择了所有复选框,但没有成功:

在此处输入图片说明

Wit*_*ito 3

打开 Excel 文件,然后Review转到Protect Sheet并确保选择: Select locked cells Select unlocked cells并且为了展开/折叠列的分组,Format columns对于带有Format Rows. 应该可以了:)这里是屏幕录制