我有一个包含不同工作表的Excel文件。每张纸的列和行中都有groups
。
现在,我希望有一个VBA,它可以遍历每个工作表并折叠组。
因此,我编写了以下代码:
Sub Collapse()
Dim b As Worksheet
For Each b In Worksheets
ActiveWindow.Outline.ShowLevels ColumnLevels:=1
ActiveWindow.Outline.ShowLevels RowLevels:=1
Next b
End Sub
不幸的是,对于此代码,我遇到了运行时错误438。
您知道我需要在VBA中进行哪些修改以折叠每个工作表中的所有组吗?
答案 0 :(得分:1)
将ActiveWindow
替换为b
,如下所示,它将起作用:
Sub Collapse()
Dim b As Worksheet
For Each b In Worksheets
b.Outline.ShowLevels ColumnLevels:=1
b.Outline.ShowLevels RowLevels:=1
Next b
End Sub
编辑#1
更短版本,请参阅。 PEH
的评论:
Sub Collapse()
Dim b As Worksheet
For Each b In Worksheets
b.Outline.ShowLevels ColumnLevels:=1, RowLevels:=1
Next b
End Sub