Свернуть все группы на каждом листе с помощью VBA - PullRequest
0 голосов
/ 29 июня 2018

У меня есть файл 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, чтобы свернуть все группы на каждом листе?

1 Ответ

0 голосов
/ 29 июня 2018

Просто замените 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...