Excel:允许在多个工作表上进行分组/大纲显示,并启用保护
我正在尝试允许在启用保护的多个工作表上进行分组/大纲显示。 出于某些原因,excel在保护时没有一个简单的选项框来执行此操作-因此我使用以下宏代码:Excel:允许在多个工作表上进行分组/大纲显示,并启用保护,excel,grouping,protection,outlining,vba,Excel,Grouping,Protection,Outlining,Vba,我正在尝试允许在启用保护的多个工作表上进行分组/大纲显示。 出于某些原因,excel在保护时没有一个简单的选项框来执行此操作-因此我使用以下宏代码: Sub group() ActiveSheet.EnableOutlining = True' ActiveSheet.Protect Contents:=True, UserInterfaceOnly:=True End Sub 打开工作簿时,我将其设置为自动运行宏。我的问题是,我希望它适用于所有工作表,而不仅仅是活动工作表。上面的代码在活动工
Sub group()
ActiveSheet.EnableOutlining = True'
ActiveSheet.Protect Contents:=True, UserInterfaceOnly:=True
End Sub
打开工作簿时,我将其设置为自动运行宏。我的问题是,我希望它适用于所有工作表,而不仅仅是活动工作表。上面的代码在活动工作表上工作,但我仍然必须在其他工作表上手动运行宏,以允许大纲工作
我还需要一些灵活性,因为有时工作表会被添加或删除,我希望代码是灵活的,以便它总是影响所有工作表,而不必我命名代码中的每个工作表
这可能吗
谢谢。我想这就是你想要的:
Option Explicit
Sub group()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws
.EnableOutlining = True '
.Protect Contents:=True, UserInterfaceOnly:=True
End With
End Sub
这可能是:
Option Explicit
Sub group()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws
.Protect Contents:=True, UserInterfaceOnly:=True
.EnableOutlining = True 'add after adding protection to the sheet
End With
Next ws 'you need the next rule for the "For" routine.
End Sub
保罗,你好