Скрыть строки на основе значения ячейки в excel

Предположим, у вас есть диапазон данных, и вы хотите скрыть строки на основе значения столбца, например, если значение ячейки столбца меньше 3000, затем скройте строку ячейки, как показано ниже.

док скрыть строки на основе значения 1


В Excel вы можете использовать функцию «Фильтр» для фильтрации и скрытия строк на основе значения ячейки.

1. Выберите данные, которые нужно отфильтровать, и нажмите Данные > Фильтр. Смотрите скриншот:

док скрыть строки на основе значения 2

2. Затем щелкните стрелку вниз, чтобы отобразить раскрывающийся список фильтров, и щелкните Числовые фильтры (или текстовые фильтры) > Больше чем (вы можете выбрать другой критерий в подменю). Смотрите скриншот:

док скрыть строки на основе значения 3

3. В появившемся диалоговом окне введите критерий в текстовое поле рядом с больше чем. Смотрите скриншот:

док скрыть строки на основе значения 4

4. Нажмите OK. Теперь отображаются только данные, превышающие 3000, а строки, данные которых меньше 3000, скрыты.

док скрыть строки на основе значения 5


Более того, если вас интересует код VBA, здесь я могу представить код VBA для скрытия строк на основе значения ячейки.

1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.

2. Затем нажмите Вставить > Модули открыть новый Модули window и вставьте в него код VBA.

VBA: скрыть строки на основе значения ячейки.

Sub HideRow()
'Updateby20150618
Dim Rng As Range
Dim WorkRng As Range
Dim xNumber As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xNumber = Application.InputBox("Number", xTitleId, "", Type:=1)
For Each Rng In WorkRng
    Rng.EntireRow.Hidden = Rng.Value < xNumber
Next
End Sub

3. Затем нажмите F5 нажмите клавишу для запуска VBA, затем выберите диапазон данных, в котором вы хотите скрыть строки в всплывающем диалоговом окне (за исключением заголовков). Смотрите скриншот:

док скрыть строки на основе значения 6

4. Нажмите OK, и введите номер критерия во втором диалоговом окне. Смотрите скриншот:

док скрыть строки на основе значения 7

5. Нажмите OK. Теперь строки, данные которых меньше 3000, скрыты.

Наконечник: Если вы хотите скрыть строки, превышающие 3000, просто измените Rng.EntireRow.Hidden = Rng.Value <xNumber в Rng.EntireRow.Hidden = Rng.Value> xNumber, или если вы хотите скрыть строки, данные которых равны 3000, измените на Rng.EntireRow.Hidden = Rng.Value = xNumber.



ЕСЛИ вам не нравится включать функцию фильтра, как и VBA, я представляю вам удобный инструмент — Выбрать определенные ячейки of Kutools for Excel чтобы быстро выбрать целые строки на основе значения ячейки, затем вы можете скрыть их.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

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

1. Выберите диапазон данных и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:

док скрыть строки на основе значения 14

2. в Выбрать определенные ячейки диалог, проверьте Весь ряд под Тип выбора раздел, затем выберите нужный критерий из Конкретный тип список, затем введите число или текст в текстовое поле. Смотрите скриншот:

док скрыть строки на основе значения 9

3. Нажмите Ok > OK закрыть диалоги. Теперь выбираются строки, данные которых меньше 3000, и вам просто нужно щелкнуть правой кнопкой мыши заголовок строки, чтобы отобразить контекстное меню, и выбрать «Скрыть». Смотрите скриншот:
док скрыть строки на основе значения 10

Теперь строки, данные которых меньше 3000, скрыты.

док скрыть строки на основе значения 11

Наконечник:

1. Если вы хотите скрыть строки, содержащие определенное значение, вы можете выбрать Комплект и введите определенное значение в текстовое поле.

док скрыть строки на основе значения 12

2. Если вы хотите скрыть строки, которые содержат значения больше, но меньше значений, вы можете выбрать Больше и Менее, затем введите значения в два поля и установите флажок И,.

док скрыть строки на основе значения 13

Работы С Нами Kutools for ExcelАвтора Выбрать определенные ячейки утилита, вы можете определить расположение определенных ячеек, выбрать целые строки или столбцы на основе значения ячейки и так далее. Щелкните здесь, чтобы узнать больше об этой утилите.



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Скрытие/отображение ненужных строк и столбцов

Постановка задачи

Предположим, что у нас имеется вот такая таблица, с которой приходится «танцевать» каждый день:

outline1.gif

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

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

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

В реальной жизни примеров таких таблиц — море.

Способ 1. Скрытие строк и столбцов

Способ, прямо скажем, примитивный и не очень удобный, но два слова про него сказать можно. Любые выделенные предварительно строки или столбцы на листе можно скрыть, щелкнув по заголовку столбца или строки правой кнопкой мыши и выбрав в контекстном меню команду Скрыть (Hide):

outline2.gif

Для обратного отображения нужно выделить соседние строки/столбцы и, щелкнув правой кнопкой мыши, выбрать в меню, соответственно, Отобразить (Unhide).

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

Способ 2. Группировка

Если выделить несколько строк или столбцов, а затем выбрать в меню Данные — Группа и структура — Группировать (Data — Group and Outline — Group), то они будут охвачены прямоугольной скобкой (сгруппированы). Причем группы можно делать вложенными одна в другую (разрешается до 8 уровней вложенности):

outline3.gif

Более удобный и быстрый способ — использовать для группировки выделенных предварительно строк или столбцов сочетание клавиш Alt+Shift+стрелка вправо, а для разгруппировки Alt+Shift+стрелка влево, соответственно.

Такой способ скрытия ненужных данных гораздо удобнее — можно нажимать либо на кнопку со знаком «+» или ««, либо на кнопки с цифровым обозначением уровня группировки в левом верхнем углу листа — тогда все группы нужного уровня будут сворачиваться или разворачиваться сразу.

Кроме того, если в вашей таблице присутствуют итоговые строки или столбцы с функцией суммирования соседних ячеек, то есть шанс (не 100%-ый правда), что Excel сам создаст все нужные группировки в таблице одним движением — через меню Данные — Группа и структура — Создать структуру (Data — Group and Outline — Create Outline). К сожалению, подобная функция работает весьма непредсказуемо и на сложных таблицах порой делает совершенную ерунду. Но попробовать можно.

В Excel 2007 и новее все эти радости находятся на вкладке Данные (Data) в группе Структура (Outline):

outline5.gif

Способ 3. Скрытие помеченных строк/столбцов макросом

Этот способ, пожалуй, можно назвать самым универсальным. Добавим пустую строку и пустой столбец в начало нашего листа и отметим любым значком те строки и столбцы, которые мы хотим скрывать:

outline4.gif

Теперь откроем редактор Visual Basic (ALT+F11), вставим в нашу книгу новый пустой модуль (меню Insert — Module) и скопируем туда текст двух простых макросов:

Sub Hide()
    Dim cell As Range
    Application.ScreenUpdating = False                              'отключаем обновление экрана для ускорения
    For Each cell In ActiveSheet.UsedRange.Rows(1).Cells            'проходим по всем ячейкам первой строки
        If cell.Value = "x" Then cell.EntireColumn.Hidden = True    'если в ячейке x - скрываем столбец
    Next
    For Each cell In ActiveSheet.UsedRange.Columns(1).Cells         'проходим по всем ячейкам первого столбца
        If cell.Value = "x" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
    Next
    Application.ScreenUpdating = True
End Sub

Sub Show()
    Columns.Hidden = False   'отменяем все скрытия строк и столбцов
    Rows.Hidden = False
End Sub

Как легко догадаться, макрос Hide скрывает, а макрос Show — отображает обратно помеченные строки и столбцы. При желании, макросам можно назначить горячие клавиши (Alt+F8 и кнопка Параметры), либо создать прямо на листе кнопки для их запуска с вкладки Разработчик — Вставить — Кнопка (Developer — Insert — Button).

Способ 4. Скрытие строк/столбцов с заданным цветом

Допустим, что в приведенном выше примере мы, наоборот, хотим скрыть итоги, т.е. фиолетовые и черные строки и желтые и зеленые столбцы. Тогда наш предыдущий макрос придется немного видоизменить, добавив вместо проверки на наличие «х» проверку на совпадение цвета заливки с произвольно выбранными ячейками-образцами:

Sub HideByColor()
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Rows(2).Cells
        If cell.Interior.Color = Range("F2").Interior.Color Then cell.EntireColumn.Hidden = True
        If cell.Interior.Color = Range("K2").Interior.Color Then cell.EntireColumn.Hidden = True
    Next
    For Each cell In ActiveSheet.UsedRange.Columns(2).Cells
        If cell.Interior.Color = Range("D6").Interior.Color Then cell.EntireRow.Hidden = True
        If cell.Interior.Color = Range("B11").Interior.Color Then cell.EntireRow.Hidden = True
    Next
    Application.ScreenUpdating = True
End Sub

Однако надо не забывать про один нюанс: этот макрос работает только в том случае, если ячейки исходной таблицы заливались цветом вручную, а не с помощью условного форматирования (это ограничение свойства Interior.Color). Так, например, если вы с помощью условного форматирования автоматически подсветили в своей таблице все сделки, где количество меньше 10:

outline7.png

…и хотите их скрывать одним движением, то предыдущий макрос придется «допилить». Если у вас Excel 2010-2013, то можно выкрутиться, используя вместо свойства Interior свойство DisplayFormat.Interior, которое выдает цвет ячейки вне зависимости от способа, которым он был задан. Макрос для скрытия синих строк тогда может выглядеть так:

Sub HideByConditionalFormattingColor()
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Columns(1).Cells
        If cell.DisplayFormat.Interior.Color = Range("G2").DisplayFormat.Interior.Color Then cell.EntireRow.Hidden = True
    Next
    Application.ScreenUpdating = True
End Sub

Ячейка G2 берется в качестве образца для сравнения цвета. К сожалению, свойство DisplayFormat появилось в Excel только начиная с 2010 версии, поэтому если у вас Excel 2007 или старше, то придется придумывать другие способы.

Ссылки по теме

  • Что такое макрос, куда вставлять код макроса, как их использовать
  • Автоматическая группировка в многоуровневых списках

Предположим, у вас есть диапазон данных, и вы хотите скрыть строки на основе значения столбца, например, если значение ячейки столбца меньше 3000, затем скрыть строку ячейки, как показано на скриншоте ниже.

(4 шага) Скрыть строки на основе значения ячейки с помощью фильтра

(5 шагов) Скрыть строки на основе по значению ячейки с помощью VBA

(3 шага) Скрыть строки на основе значения ячейки с помощью Kutools for Excel


Содержание

  1. Скрыть строки на основе значения ячейки с помощью фильтра
  2. Скрыть строки на основе значения ячейки с помощью VBA
  3. Быстрое выделение ячеек на основе критериев в Excel
  4. Скрыть строки на основе значения ячейки с помощью Kutools for Excel
  5. Скрыть строки на основе значения ячейки

Скрыть строки на основе значения ячейки с помощью фильтра

В Excel вы можете использовать функцию фильтра для фильтрации и скрытия строк на основе значения ячейки.

1. Выберите данные, которые нужно отфильтровать, и нажмите Данные > Фильтр . См. Снимок экрана:

2. Затем нажмите стрелку вниз, чтобы отобразить раскрывающийся список фильтров, и нажмите Числовые фильтры (или текстовые фильтры) > Больше, чем (вы можете выбрать другой критерий нужно из подменю). См. Снимок экрана:

3. В появившемся диалоговом окне введите критерий в текстовое поле рядом с больше чем. См. Снимок экрана:

4. Нажмите ОК . Теперь отображаются только данные больше 3000, а строки, данные которых меньше 3000, скрыты.


Скрыть строки на основе значения ячейки с помощью VBA

Кроме того, если вас интересует Код VBA, здесь я могу ввести код VBA для скрытия строк на основе значения ячейки.

1. Нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений .

2. Затем нажмите Вставить > Module , чтобы открыть новое окно Module , и вставьте в него ниже код VBA.

VBA: скрыть строки на основе значения ячейки.

3. Затем нажмите клавишу F5 , чтобы запустить VBA, затем выберите диапазон данных, в котором вы хотите скрыть строки, в всплывающем диалоговом окне (за исключением заголовков). См. Снимок экрана:

4. Нажмите OK и введите номер критерия во втором диалоговом окне. См. Снимок экрана:

5. Нажмите ОК . Теперь строки, данные которых меньше 3000, скрыты.

Совет: Если вы хотите скрыть строки, размер которых превышает 3000, просто измените Rng.EntireRow.Hidden = Rng. Value xNumber, или если вы хотите скрыть строки, данные которых равны 3000, измените на Rng.EntireRow. Hidden = Rng.Value = xNumber.


Быстрое выделение ячеек на основе критериев в Excel

С помощью Kutools for Excel’s Выбрать определенные ячейки , вы можете выбрать ячейки на основе одного или двух критериев один раз.
Kutools for Excel: с более чем 300 удобными добавками Excel -ins, попробуйте без ограничений в течение 30 дней.

Скрыть строки на основе значения ячейки с помощью Kutools for Excel

ЕСЛИ вам не нравится включать функцию фильтра, ни VBA, здесь я представляю вам удобный инструмент – Select Specific Ячейки из Kutools for Excel , чтобы быстро выбирать целые строки на основе значения ячейки, затем вы можете скрыть их.

Kutools for Excel , с более чем 300 удобными функциями, упрощает вашу работу.

Бесплатная загрузка
Бесплатная полнофункциональная версия через 30 дней

После бесплатной установки Kutools for Excel, сделайте следующее:

Совет. Если вы хотите получить бесплатную пробную версию функции извлечения текста, сначала попробуйте бесплатно попробовать Kutools for Excel, а затем примените операцию в соответствии с вышеуказанными шагами.

1. Выберите диапазон данных и нажмите Kutools > Выбрать > Выбрать определенные ячейки . См. Снимок экрана:

2. В диалоговом окне Выбрать определенные ячейки установите флажок Вся строка в разделе Тип выбора , затем выберите нужный критерий из Определенный тип , затем введите число или текст в текстовое поле. См. Снимок экрана:

3. Нажмите ОК > ОК , чтобы закрыть диалоговые окна. Теперь выбираются строки, данные которых меньше 3000, и вам просто нужно щелкнуть правой кнопкой мыши заголовок строки, чтобы отобразить контекстное меню, и выбрать «Скрыть». См. Снимок экрана:

Теперь строки, данные которых меньше 3000, скрыты.

Совет:

1. Если вы хотите скрыть строки, содержащие определенное значение, вы можете выбрать Содержит и ввести определенное значение в текстовое поле.

2. Если вы хотите скрыть строки, содержащие значения больше, но меньше значений, вы можете выбрать Больше и Меньше , а затем введите значения в два и установите флажок И .

С помощью Kutools for Excel Выбрать конкретный Ячейки , вы можете определить расположение определенных ячеек, выбрать целые строки или столбцы на основе значения ячейки и т. Д. Щелкните здесь, чтобы узнать больше об этой утилите.

Скрыть строки на основе значения ячейки

Kutools for Excel: 300+ функций, которые вы должны иметь в Excel, 30-дневную бесплатную пробную версию отсюда.



скрыть/отобразить строки в зависимости от значения в ячейке

SCRPN

Дата: Пятница, 20.12.2013, 13:49 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Есть таблица. В зависимости от того какое значение в ячейках A23:A26 (например, если «—«) надо скрыть или отобразить соотвествующую строку (23:26)

Если значение измениться, то заново отобразить/скрыть.

Сообщение отредактировал SCRPNПятница, 20.12.2013, 13:56

 

Ответить

slava

Дата: Пятница, 20.12.2013, 14:07 |
Сообщение № 2

Группа: Пользователи

Ранг: Новичок

Сообщений: 43


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Есть таблица. В зависимости от того какое значение в ячейках A23:A26 (например, если «—«) надо скрыть или отобразить соотвествующую строку (23:26)

Если значение измениться, то заново отобразить/скрыть.

Вот сюда загляни,мож поможет)) http://www.excelworld.ru/forum/2-8034-1

 

Ответить

_Boroda_

Дата: Пятница, 20.12.2013, 14:12 |
Сообщение № 3

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

SCRPN, Еще раз удалите модераторский комментарий в своем сообщении — я вас вообще забаню.
А в комментарии как раз и было написано про то, что нужно воспользоваться поиском — подобных тем на форуме великое множество. И Правила форума почитать.


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

SCRPN

Дата: Пятница, 20.12.2013, 14:20 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

Отчего старожилам и модераторам не приходит в голову, что не всегда поиск выдает какой-либо результат… Коммент не удалял, возможно мы одновременно его правили.
[moder]А оттого, что мы, прежде, чем что-то написать, делаем то, про что пишем и наглядно убеждаемся в том, что написанное нами истинно.
То есть, вы хотите сказать, что запрос в поиске по сайту «скрыть строки» вам не дал ничего нужного? А может, вы просто ничего не искали?

Сообщение отредактировал SCRPNПятница, 20.12.2013, 14:29

 

Ответить

SCRPN

Дата: Пятница, 20.12.2013, 14:21 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
20% ±


Excel 2010

slava, спасибо за ссылку, изучаю.

Изучил. Не то, там не скрывается строка, а скрываются значения ячейки.

Видимо надо макросом с Rows(…).Hidden = True / False но VBA не владею…

Сообщение отредактировал SCRPNПятница, 20.12.2013, 14:25

 

Ответить

_Boroda_

Дата: Пятница, 20.12.2013, 14:29 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

I have a multiple selection, Option buttons, that change the value of cell D7 from 1 to 5, depending on choice. I want to unhide rows 16 to 26 if value is 1 and hide them if it’s different, and so on for every other value.

But I can’t even get this to work at all, and I’m not sure what I’m doing wrong.

Update: If I change the cell value, nothing happens, but if I delete all contents and add a value it gives: «Argument not optional», and it highlights this part of the code for me:

Private Sub Worksheet_Change(ByVal Target as Excel.Range)

Thank you

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If IsNumeric(Target) And Target.Address = "$D$7" Then
        Select Case Target.Value
            Case 0 To 90: Cell_Hider
        End Select
    End If
End Sub

Sub Cell_Hider(ByVal Target As Range)
    If Range("$D$7").Value = "1" Then
        Rows("16:26").EntireRow.Hidden = False
    Else
        Rows("16:26").EntireRow.Hidden = True
    End If
    
End Sub

Понравилась статья? Поделить с друзьями:
  • Скрыть строки в excel чтобы не нашли
  • Скрыть строки в excel при пустой ячейки
  • Скрыть строки в excel по условию формула
  • Скрыть строки в excel по условию макрос excel
  • Скрыть строки в excel по содержимому