Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: malingu от 02 января 2017, 23:35

Название: Как в excel в макросе прописать скрытие и раскрытие столбцов?
Отправлено: malingu от 02 января 2017, 23:35
Всем привет, подскажите, пожалуйста, как сделать такой макрос.
При первом щелчке по кнопке макрос скрывает столбцы B:D, H:BF и одновременно отображает столбцы E:G?
А при втором щелчке, наоборот, отображает столбцы B:D, H:BF и одновременно скрывает столбцы E:G?

Я начал делать так, но мне кажется, что я слишком намудрил, можно ли упростить?

код
Sub Кнопка9_Щелчок()

If Columns("B").EntireColumn.Hidden = False Then
  Columns("B:D").EntireColumn.Hidden = True
Else
  Columns("B:D").EntireColumn.Hidden = False
End If

If Columns("H").EntireColumn.Hidden = False Then
  Columns("H:BF").EntireColumn.Hidden = True
Else
  Columns("H:BF").EntireColumn.Hidden = False
End If

End Sub
[свернуть]

Мне надо дописать строчку в этот код, чтобы скрывались/отображались столбцы E:G.
Название: Re: Как в excel в макросе прописать скрытие и раскрытие столбцов?
Отправлено: Администратор от 03 января 2017, 10:53
Принцип я оставил ваш, но только логично проверять один столбец, например, B; ведь состояния у B и H одинаковы.

Sub Макрос()

    If Columns("B").Hidden = False Then
        Range("B:D,H:BF").EntireColumn.Hidden = True
        Columns("E:G").Hidden = False
    Else
        Range("B:D,H:BF").EntireColumn.Hidden = False
        Columns("E:G").Hidden = True
    End If

End Sub
Название: Re: Как в excel в макросе прописать скрытие и раскрытие столбцов?
Отправлено: malingu от 03 января 2017, 11:43
Спасибо большое.