Как удалить строки, не соответствующие критериям, заданным на другом листе?
Вам, вероятно, нетрудно удалить строки, не соответствующие заданным критериям, на том же листе — но знаете ли вы, как удалять такие строки, если критерии находятся на другом листе, как показано ниже? Сейчас я продемонстрирую два эффективных приёма, которые позволят быстро справиться с этой задачей.
Удалить строки, не соответствующие критериям на другом листе, с помощью VBA
Удалить строки, не соответствующие критериям на другом листе, с помощью Kutools для Excel
![]() | ![]() | ![]() | ![]() |
| Критерии (на листе 2) | До (лист 1) | После (Лист1) |
Удалить строки, не соответствующие критериям на другом листе, с помощью VBA
Существует код VBA, который поможет вам удалить строки, не соответствующие критериям на другом листе.
1. Нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. В открывшемся окне выберите Вставка > Модуль, чтобы открыть новое окно модуля, затем скопируйте приведённый ниже код VBA в это окно.
VBA: Удалить строки, не соответствующие критериям на другом листе в Excel
Sub DeleteRow()
'Updateby20140618
Dim rng As Range
Dim Rng1 As Range, Rng2 As Range
Dim arr1 As Variant
Dim arr2 As Variant
Dim dic2 As Variant
Dim OutArr As Variant
xTitleId = "KutoolsforExcel"
Set Rng1 = Application.Selection
Set Rng1 = Application.InputBox("Range1 :", xTitleId, Rng1.Address, Type:=8)
Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Set Rng1 = Rng1.Columns(1)
Set Rng2 = Rng2.Columns(1)
Set dic2 = CreateObject("Scripting.Dictionary")
arr1 = Rng1.Value
arr2 = Rng2.Value
For i = 1 To UBound(arr2, 1)
xKey = arr2(i, 1)
dic2(xKey) = ""
Next
Rng1.ClearContents
OutArr = Rng1.Value
xIndex = 1
For i = 1 To UBound(arr1, 1)
xKey = arr1(i, 1)
If dic2.Exists(xKey) Then
OutArr(xIndex, 1) = xKey
xIndex = xIndex + 1
End If
Next
Rng1.Value = OutArr
End Sub
3. Нажмите Выполнить, диалоговое окно KutoolsforExcelчтобы выбрать диапазон, в котором будут удалены строки, не соответствующие заданным критериям. См. снимок экрана:
4. Нажмите ОК, после чего откроется диалоговое окно для выбора критериев на другом листе. См. снимок экрана:

5. Теперь все строки, не соответствующие критериям с другого листа, удалены.
Удалить строки, не соответствующие критериям на другом листе, с помощью Kutools для Excel
Если код VBA кажется вам сложным, воспользуйтесь функцией «Сравнение диапазонов» из Kutools для Excel — это проще и удобнее!
Kutools для Excel включает более 300 удобных инструментов для Excel. Бесплатная пробная версия без ограничений на 30 дней! Получить сейчас
1. Выберите лист, на котором нужно удалить строки, не соответствующие заданным критериям. Затем нажмите Kutools > Диапазон > Сравнить ячейки. См. снимок экрана:
2. В диалоговом окне Сравнить ячейки нажмите кнопку в поле Диапазон B и выберите нужный диапазон критериев. См. снимок экрана:
![]() |
![]() |
![]() |
3. Затем нажмите ОК, вернитесь в диалоговое окно Сравнение диапазонов, установите флажок Различные значения и выберите Выбрать всю строку. См. снимок экрана:

4. Нажмите ОК и закройте диалоговое окно Сравнение диапазонов. Теперь вы увидите, что строки со значениями, не соответствующими критериям, выделены.

5. Щёлкните правой кнопкой мыши и выберите в контекстном меню команду Удалить, чтобы удалить строки, не соответствующие критериям на другом листе.

Подробнее о функции «Сравнение диапазонов» из Kutools для Excel — здесь.
Смежные статьи:
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек






