我需要保护工作簿中的所有工作表,但仍然可以启用群组的折叠/扩展。我尝试在线搜索VBA代码,然后带着这个代码到达:
Option Explicit
Private Sub Workbook_Open()
With Worksheets("Monitoring")
.Protect Password:="", userinterfaceonly:=True
.EnableOutlining = True
.EnableAutoFilter = True
If .FilterMode Then
.ShowAllData
End If
End With
End Sub
但是,这仅适用于标有“监控”的单个工作表。这也插入VBA窗口中的“ThisWorkbook”文件中。我有大约50个工作表,我认为通用代码可以做到这一点。然而,在尝试谷歌之后,我尝试过的结果都没有。
我可以就此事请求你的帮助。谢谢,美好的一天! :):3
答案 0 :(得分:0)
您需要添加的是For Each
所有Worksheets
循环:
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
With ws
.Protect Password:="", userinterfaceonly:=True
.EnableOutlining = True
.EnableAutoFilter = True
If .FilterMode Then
.ShowAllData
End If
End With
Next ws
End Sub
答案 1 :(得分:0)
有些事情:
Option Explicit
Private Sub Workbook_Open()
For Each sh In ThisWorkbook.Sheets
With sh
.Protect Password:="", userinterfaceonly:=True
.EnableOutlining = True
.EnableAutoFilter = True
If .FilterMode Then
.ShowAllData
End If
End With
Next
End Sub