Предположим, у вас есть диапазон данных, и вы хотите скрыть строки на основе значения столбца, например, если значение ячейки столбца меньше 3000, затем скройте строку ячейки, как показано ниже.
В Excel вы можете использовать функцию «Фильтр» для фильтрации и скрытия строк на основе значения ячейки.
1. Выберите данные, которые нужно отфильтровать, и нажмите Данные > Фильтр. Смотрите скриншот:
2. Затем щелкните стрелку вниз, чтобы отобразить раскрывающийся список фильтров, и щелкните Числовые фильтры (или текстовые фильтры) > Больше чем (вы можете выбрать другой критерий в подменю). Смотрите скриншот:
3. В появившемся диалоговом окне введите критерий в текстовое поле рядом с больше чем. Смотрите скриншот:
4. Нажмите OK. Теперь отображаются только данные, превышающие 3000, а строки, данные которых меньше 3000, скрыты.
Более того, если вас интересует код 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, затем выберите диапазон данных, в котором вы хотите скрыть строки в всплывающем диалоговом окне (за исключением заголовков). Смотрите скриншот:
4. Нажмите OK, и введите номер критерия во втором диалоговом окне. Смотрите скриншот:
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. Выберите диапазон данных и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. в Выбрать определенные ячейки диалог, проверьте Весь ряд под Тип выбора раздел, затем выберите нужный критерий из Конкретный тип список, затем введите число или текст в текстовое поле. Смотрите скриншот:
3. Нажмите Ok > OK закрыть диалоги. Теперь выбираются строки, данные которых меньше 3000, и вам просто нужно щелкнуть правой кнопкой мыши заголовок строки, чтобы отобразить контекстное меню, и выбрать «Скрыть». Смотрите скриншот:
Теперь строки, данные которых меньше 3000, скрыты.
Наконечник:
1. Если вы хотите скрыть строки, содержащие определенное значение, вы можете выбрать Комплект и введите определенное значение в текстовое поле.
2. Если вы хотите скрыть строки, которые содержат значения больше, но меньше значений, вы можете выбрать Больше и Менее, затем введите значения в два поля и установите флажок И,.
Работы С Нами Kutools for ExcelАвтора Выбрать определенные ячейки утилита, вы можете определить расположение определенных ячеек, выбрать целые строки или столбцы на основе значения ячейки и так далее. Щелкните здесь, чтобы узнать больше об этой утилите.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Во время работы в Эксель нередко получается так, что часть информации становится ненужной. Это могут быть, например, промежуточные данные, участвующие в расчетах, или другая вспомогательная информация. При этом просто так удалить такие данные нельзя, так как в этом случае будет нарушена структурная целостность таблицы, а также, перестанут работать формулы, ссылающиеся на удаленные ячейки. В этом случае наилучшим решением будет скрытие информации. Итак, давайте разберемся, каким образом это можно сделать в отношении строк в таблице Excel.
Содержание
- Метод 1: сдвигаем границу строки
- Метод 2: одновременное скрытие нескольких строк
- Метод 3: используем контекстное меню
- Метод 4: применяем кнопки на ленте
- Метод 5: группируем строки
- Метод 6: применяем фильтр
- Скрываем содержимое ячеек
- Заключение
Метод 1: сдвигаем границу строки
Данный метод, пожалуй, является самым простым. И вот, в чем он заключается.
- На вертикальной координатной панели наводим указатель мыши на нижнюю границу строки, которую планируем скрыть. Когда появится знак в виде плюсика со стрелками вверх и вниз, зажав левую кнопку мыши тянем его вверх, соединив с верхней границей строки.
- Таким нехитрым способом нам удалось скрыть выбранную строку.
Метод 2: одновременное скрытие нескольких строк
Этот способ базируется на том, который мы рассмотрели выше, и также предполагает сдвиг границы, но не отдельной строки, а выделенного диапазона.
- На вертикальной координатной панели любым удобным способом (например, с помощью зажатой левой кнопки мыши) выделяем строки, которые планируем спрятать.Если требуется выделить разрозненные строки, выполняем выделение левой кнопкой мыши (щелчком или зажав для идущих подряд строк), удерживая клавишу Ctrl на клавиатуре.
- Аналогично скрытию одной строки (действия описали в методе выше), сдвигаем границу любой строки из выделенного диапазона. При этом неважно, тянем ли мы указатель к верхней границе именно этой строки или к границе самой верхней строки отмеченной области.
- В итоге мы скрыли сразу весь выделенный диапазон.
Наверное, это самый популярный способ среди пользователей, который предполагает использование контекстного меню.
- На вертикальной панели координат выделяем нужные строки (как это сделать, описано выше).
- Щелкаем правой кнопкой мыши по любому месту в выделенном диапазоне на координатной панели, в открывшемся списке выбираем команду “Скрыть”.
- Весь выделенный диапазон строк будет спрятан.
Метод 4: применяем кнопки на ленте
На ленте программы также, предусмотрены кнопки для скрытия строк.
- Для начала нужно выделить строки, которые мы планируем спрятать. Сделать это можно по-разному:
- Находясь во вкладке “Главная” в группе инструментов “Ячейки” щелкаем по кнопке “Формат”. В открывшемся перечне выбираем команду “Скрыть или отобразить”, затем – “Скрыть строки”.
- Получаем скрытый диапазон строк.
Метод 5: группируем строки
Этот метод реализуется через функцию “Группировать”. План действий следующий:
- Выделяем строки, которые мы планируем сгруппировать – также, как и в методе выше – либо на координатной панели, либо в самой таблице.
- Переключаемся во вкладку “Данные”. В группе инструментов “Структура” выбираем команду “Группировать”. Жмем именно на значок функции, а не на стрелку вниз.
- Появится вспомогательное окно группировки. Ставим отметку напротив нужного варианта (в нашем случае – строки) и щелкаем OK.
- В результаты мы получим сгруппированные строки, о чем свидетельствуют кнопки с цифрами 1 и 2 в самом верху вертикальной панели координат и полоска со знаком “минус” рядом с последней строкой выделенного диапазона. Если мы нажмем на него, сгруппированные строки будут скрыты. Аналогичный результат получится при нажатии кнопки 1.
- Чтобы обратно раскрыть сгруппированные строки, нажимаем на знак “плюс” или кнопку 2.
Метод 6: применяем фильтр
Этот способ активно применяется пользователями, так как позволяет гибко настраивать данные, выбирая то, что нужно оставить или, наоборот, скрыть.
- Сначала нужно выделить любую ячейку таблицы. Находясь во вкладке “Главная” в группе инструментов “Редактирование” щелкаем по кнопке “Сортировка и фильтр”. В открывшемся перечне выбираем “Фильтр”.Фильтр можно включить и во вкладке “Данные”, воспользовавшись кнопкой “Фильтр” в группе “Сортировка и фильтр”. Также, потребуется предварительно выделить любую ячейку в таблице.
- В результате в каждой ячейке шапки таблицы с правой стороны появится характерный значок фильтра в виде квадрата с треугольником, направленным вниз. Выбираем столбец, по содержимому которого планируем настроить фильтр, и жмем по соответствующему значку фильтрации (допустим, продажи по торговой точке 2).
- В открывшемся окне фильтра убираем галочки напротив значений, которые хотим спрятать. По готовности щелкаем OK.
- В результате, все строки, содержащие значения, которые мы скрыли, также будут спрятаны в таблице. Понять, что в столбце выполнена фильтрация данных достаточно просто по видоизмененному значку фильтра.
Скрываем содержимое ячеек
И, напоследок, давайте посмотрим, каким образом можно спрятать определенные ячейки. Конечно, в данном случае, скрыть их полностью не получится, ведь, это приведет к нарушению структурной целостности таблицы, однако, у нас есть возможность скрыть, хотя бы, их содержимое.
- Сначала нужно выполнить выделение ячеек, содержимое которых мы хотим скрыть. Это могут быть элементы из разных строк или столбцов. Далее щелкаем правой кнопкой мыши по выделенному диапазону и в открывшемся меню останавливаем свой выбор на строке “Формат ячеек”.
- Мы окажемся во вкладке “Число” окна форматирования. Выбираем вариант “Все форматы”, затем в правой части окна в поле для ввода информации под параметром “Тип” печатаем следующее:
;;;
. По готовности щелкаем OK. - В результате проделанных действий нам удалось скрыть содержимое выделенного диапазона. Конечно же, на самом деле данные никуда не делись, а просто перестали отображаться в самих ячейках. Однако если выделить какой-нибудь элемент, увидеть его содержимое можно в строке формул.
- Чтобы снова сделать содержимое ячеек видимым, в окне форматирования возвращаем ранее установленный для них формат.
Заключение
Таким образом, скрыть строки в Excel можно, воспользовавшись разными методами. Все зависит от конкретной таблицы, желаемого результата и предпочтений самого пользователя в выборе того или иного способа, который ему кажется наиболее удобным и эффективным. Также в программе отдельно реализована возможность скрытия содержимого ячеек.
Скрытие/отображение ненужных строк и столбцов
Постановка задачи
Предположим, что у нас имеется вот такая таблица, с которой приходится «танцевать» каждый день:
Кому таблица покажется маленькой — мысленно умножьте ее по площади в двадцать раз, добавив еще пару кварталов и два десятка крупных российских городов.
Задача — временно убирать с экрана ненужные в данный момент для работы строки и столбцы, т.е.,
- скрывать подробности по месяцам, оставляя только кварталы
- скрывать итоги по месяцам и по кварталам, оставляя только итог за полугодие
- скрывать ненужные в данный момент города (я работаю в Москве — зачем мне видеть Питер?) и т.д.
В реальной жизни примеров таких таблиц — море.
Способ 1. Скрытие строк и столбцов
Способ, прямо скажем, примитивный и не очень удобный, но два слова про него сказать можно. Любые выделенные предварительно строки или столбцы на листе можно скрыть, щелкнув по заголовку столбца или строки правой кнопкой мыши и выбрав в контекстном меню команду Скрыть (Hide):
Для обратного отображения нужно выделить соседние строки/столбцы и, щелкнув правой кнопкой мыши, выбрать в меню, соответственно, Отобразить (Unhide).
Проблема в том, что с каждым столбцом и строкой придется возиться персонально, что неудобно.
Способ 2. Группировка
Если выделить несколько строк или столбцов, а затем выбрать в меню Данные — Группа и структура — Группировать (Data — Group and Outline — Group), то они будут охвачены прямоугольной скобкой (сгруппированы). Причем группы можно делать вложенными одна в другую (разрешается до 8 уровней вложенности):
Более удобный и быстрый способ — использовать для группировки выделенных предварительно строк или столбцов сочетание клавиш Alt+Shift+стрелка вправо, а для разгруппировки Alt+Shift+стрелка влево, соответственно.
Такой способ скрытия ненужных данных гораздо удобнее — можно нажимать либо на кнопку со знаком «+» или «—«, либо на кнопки с цифровым обозначением уровня группировки в левом верхнем углу листа — тогда все группы нужного уровня будут сворачиваться или разворачиваться сразу.
Кроме того, если в вашей таблице присутствуют итоговые строки или столбцы с функцией суммирования соседних ячеек, то есть шанс (не 100%-ый правда), что Excel сам создаст все нужные группировки в таблице одним движением — через меню Данные — Группа и структура — Создать структуру (Data — Group and Outline — Create Outline). К сожалению, подобная функция работает весьма непредсказуемо и на сложных таблицах порой делает совершенную ерунду. Но попробовать можно.
В Excel 2007 и новее все эти радости находятся на вкладке Данные (Data) в группе Структура (Outline):
Способ 3. Скрытие помеченных строк/столбцов макросом
Этот способ, пожалуй, можно назвать самым универсальным. Добавим пустую строку и пустой столбец в начало нашего листа и отметим любым значком те строки и столбцы, которые мы хотим скрывать:
Теперь откроем редактор 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:
…и хотите их скрывать одним движением, то предыдущий макрос придется «допилить». Если у вас 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
Содержание
- Скрыть строки на основе значения ячейки с помощью фильтра
- Скрыть строки на основе значения ячейки с помощью VBA
- Быстрое выделение ячеек на основе критериев в Excel
- Скрыть строки на основе значения ячейки с помощью Kutools for Excel
- Скрыть строки на основе значения ячейки
Скрыть строки на основе значения ячейки с помощью фильтра
В 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 удобными функциями, упрощает вашу работу. |
Бесплатная загрузка |
После бесплатной установки Kutools for Excel, сделайте следующее:
Совет. Если вы хотите получить бесплатную пробную версию функции извлечения текста, сначала попробуйте бесплатно попробовать Kutools for Excel, а затем примените операцию в соответствии с вышеуказанными шагами.
1. Выберите диапазон данных и нажмите Kutools > Выбрать > Выбрать определенные ячейки . См. Снимок экрана:
2. В диалоговом окне Выбрать определенные ячейки установите флажок Вся строка в разделе Тип выбора , затем выберите нужный критерий из Определенный тип , затем введите число или текст в текстовое поле. См. Снимок экрана:
3. Нажмите ОК > ОК , чтобы закрыть диалоговые окна. Теперь выбираются строки, данные которых меньше 3000, и вам просто нужно щелкнуть правой кнопкой мыши заголовок строки, чтобы отобразить контекстное меню, и выбрать «Скрыть». См. Снимок экрана:
Теперь строки, данные которых меньше 3000, скрыты.
Совет:
1. Если вы хотите скрыть строки, содержащие определенное значение, вы можете выбрать Содержит и ввести определенное значение в текстовое поле.
2. Если вы хотите скрыть строки, содержащие значения больше, но меньше значений, вы можете выбрать Больше и Меньше , а затем введите значения в два и установите флажок И .
С помощью Kutools for Excel Выбрать конкретный Ячейки , вы можете определить расположение определенных ячеек, выбрать целые строки или столбцы на основе значения ячейки и т. Д. Щелкните здесь, чтобы узнать больше об этой утилите.
Скрыть строки на основе значения ячейки
Kutools for Excel: 300+ функций, которые вы должны иметь в Excel, 30-дневную бесплатную пробную версию отсюда.
макрос удалит на листе все строки, в которых содержится искомый текст:
(пример — во вложении ConditionalRowsDeleting.xls)
Sub УдалениеСтрокПоУсловию() Dim ra As Range, delra As Range, ТекстДляПоиска As String Application.ScreenUpdating = False ' отключаем обновление экрана ТекстДляПоиска = "Наименование ценности" ' удаляем строки с таким текстом ' перебираем все строки в используемом диапазоне листа For Each ra In ActiveSheet.UsedRange.Rows ' если в строке найден искомый текст If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then ' добавляем строку в диапазон для удаления If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra) End If Next ' если подходящие строки найдены - удаляем их If Not delra Is Nothing Then delra.EntireRow.Delete End Sub
Чтобы вместо удаления просто скрыть такие строки, замените строку
If Not delra Is Nothing Then delra.EntireRow.Delete
на
If Not delra Is Nothing Then delra.EntireRow.Hidden=TRUE
Расширенная версия этого макроса — с использованием UserForm для ввода искомого значения
Function ПоискСтрокПоУсловию(ByVal ТекстДляПоиска As String, Optional HideOnly As Boolean) As Long ' функция получает в качестве параметра ТекстДляПоиска (можно использовать символы * и ?) ' Если HideOnly = TRUE, то строки, содержащие в ячейках ТекстДляПоиска, скрываются, ' иначе (HideOnly = FALSE - по умолчанию) - удаляются ' Функция возвращает количество удалённых строк Dim ra As Range, delra As Range Application.ScreenUpdating = False ' отключаем обновление экрана ' перебираем все строки в используемом диапазоне листа For Each ra In ActiveSheet.UsedRange.Rows ' если в строке найден искомый текст If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then ' добавляем строку в диапазон для удаления If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra) End If Next On Error Resume Next: ПоискСтрокПоУсловию = delra.Areas.Count ' количество найденных строк If Not delra Is Nothing Then ' если подходящие строки найдены - скрываем или удаляем их If HideOnly Then delra.EntireRow.Hidden = True Else delra.EntireRow.Delete End If End Function
Ещё один вариант кода, позволяющего выполнять поиск (с последующим удалением или скрытием строк) сразу по нескольким условиям:
Sub УдалениеСтрокПоНесколькимУсловиям() Dim ra As Range, delra As Range Application.ScreenUpdating = False ' отключаем обновление экрана ' ищем и удаляем строки, содержащие заданный текст ' (можно указать сколько угодно значений, и использовать подстановочные знаки) УдалятьСтрокиСТекстом = Array("Наименование *", "Количество", _ "текст?", "цен*сти", "*78*") ' перебираем все строки в используемом диапазоне листа For Each ra In ActiveSheet.UsedRange.Rows ' перебираем все фразы в массиве For Each word In УдалятьСтрокиСТекстом ' если в очередной строке листа найден искомый текст If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then ' добавляем строку в диапазон для удаления If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra) End If Next word Next ' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк) If Not delra Is Nothing Then delra.EntireRow.Hidden = True ' скрываем их If Not delra Is Nothing Then delra.EntireRow.Delete ' удаляем их End Sub