Как скрыть или отобразить строки или столбцы в Excel с помощью VBA

Довольно часто появляется необходимость в Excel скрывать или отображать строки или столбцы. Особенно это актуально, когда на листе размещается очень много информации и часть из них является вспомогательной и требуется не всегда и тем самым загромождает пространство, ухудшая восприятие.  Если это приходится делать часто, то делать это с помощью меню неудобно, особенно если приходится скрывать и отображать разные столбцы и строки.

Для существенного удобства можно написать простенький макрос, привязав его к кнопке и делать это  одним щелком мыши.

Вот так выглядят простые примеры, с помощью которых Вы без труда сможете скрывать или отображать строки и столбцы с помощью VBA

Пример 1: Скрыть строку 2 в Excel

Sub HideString ()  ‘Это название макроса

Rows (2).Hidden = True

End Sub

 

Пример 2: Скрыть несколько строк в Excel (строку 3-5)

Sub HideStrings ()

Rows («3:5»).Hidden = True

End Sub

 

Пример 3: Скрыть столбец 2 в Excel

Sub HideCollumn ()

Columns (2).Hidden = True

End Sub

 

Пример 4: Скрытие нескольких столбцов в Excel

Sub HideCollumns ()

Columns («E:F»).Hidden = True

End Sub

 

Пример 5: Скрытие строки по имени ячейки в Excel

Sub HideCell ()

Range («Возможности Excel»).EntireRow.Hidden = True

End Sub

 

Пример 6: Скрытие нескольких строк по адресам ячеек

Sub HideCell ()

Range («B3:D4»).EntireRow.Hidden = True

End Sub

 

Пример 7: Скрытие столбца по имени ячейки

Sub HideCell ()

Range («Возможности Excel»).EntireColumn.Hidden = True

End Sub

 

Пример 8: Скрытие нескольких столбцов по адресам ячеек

Sub HideCell ()

Range («C2:D5»).EntireColumn.Hidden = True

End Sub

 

Как видите процесс автоматического скрытия строк и столбцов очень прост, а применений данному приему огромное множество.

Для того, чтобы отобразить строки и  столбцы в Excel вы можете воспользоваться этими же макросами, но вместе True необходимо указать False

Например, макрос для того, чтобы отобразить строку 2 будет выглядеть следующим образом:

Sub ViewString () 

Rows (2).Hidden = False 

End Sub

 

Надеемся, что данная статья была полезна вам и ответила на вопрос: как скрыть или отобразить строки и столбцы в Excel с помощью VBA

Спасибо за внимание.

 

Поделиться:
8 Комментариев
  • Julia:

    Добрый день!

    Выдает ошибку на многоточие и макрос не срабатывает 🙁 как быть в этой ситуации???

    Пример 4: Скрытие нескольких столбцов в Excel

    Sub HideCollumns ()

    Columns («E:F»).Hidden = True

    End Sub

  • Dmitry:

    Здравствуйте!

    Подскажите, пжл, что делаю не так ?!:

    В примере №7, выдаёт ошибку 400, пишет:

    «Method 'Range'of object'_Worksheet'failed»

    • Dmitry:

      Подскажите, пожалуйста, как сделать, чтобы в примере №7, макрос ссылался бы НЕ на ИМЯ ячейки, а на ЗНАЧЕНИЕ, которое есть в ячейке ?

      Иными словами, если ячейки А1, А2, А3 — содержать значение «хотим скрыть эти строки», то макрос скрывает эти строки (т.е. — строки 1, 2 и 3).

      Если в какой-либо ячейке — иное значение, то, соответственно, эта строка НЕ скрывается.

      Зараенее спасибо за ответ.

      • excel:

        Попробуйте вот этот готовый макрос для скрытия и отражения строк по условию

        yadi.sk/i/Hl2ePH5dbJ2bp

        • Dmitry:

          Спасибо за макрос!

          Но адаптировать под себя — оказалось для меня слишком сложно ((.

          Буду благодарен, если подскажите, как реализовать такую процедуру:

          На ЗАЩИЩЁННОМ листе — две кнопки «Скрыть» и «Отобразить»

          При нажатии кнопки «Скрыть» — происходит скрытие всех строк, одна из ячеек которых (скажем, все такие ячейки расположены в одном столбце «D») содержит значение «Счёт закрыт».

          Лист при этом остаётся ЗАЩИЩЁННЫМ.

          И, соответственно, при нажатии кнопки «Отобразить» — все скрытые строки — отображаются. Лист также остаётся защищённым.

          Заранее спасибо !

    • Dmitry:

      Разобрался сам))

  • Сергей:

    А вот такой вопрос. Есть диапазон в 31 столбец, как скрыть столбцы выходящие за предел диапазона в зависимости от продолжительности месяца. то есть, если, к примеру февраль, то скрыть 3 или 2 последних столбца в диапазоне. Заранее спасибо за ответ !

    • excel:

      Можно воспользоваться простеньким макрос скрытия столбцов по определенному условию (в данном случае, если в перовой строке есть цифра 1).

      Sub Col () 'Скрыть столбцы

      Application.ScreenUpdating = False

      For Each s In Cells (1, 1).CurrentRegion.Rows (1).Cells

      Columns (s.Column).EntireColumn.Hidden = s.Value = 1

      Next s

      Application.ScreenUpdating = True

      End Sub

      Sub all () 'Отобразить все

      Application.ScreenUpdating = False

      Cells.EntireColumn.Hidden = False

      Cells.EntireRow.Hidden = False

      Application.ScreenUpdating = True

      End Sub

      Скачать файл

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.