Как удалить строки, не соответствующие критериям на другом листе?
Возможно, вам не составит труда удалить строки, не соответствующие критериям на одном листе, но знаете ли вы какие-либо способы удаления строк, не соответствующих критериям на другом листе, как показано ниже. Теперь у меня есть две хитрости, которые помогут вам быстро решить эту проблему.
Удалите строки, не соответствующие критериям на другом листе, с помощью VBA
Удалите строки, не соответствующие критериям на другом листе, с помощью Kutools for 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. Нажмите Run, чтобы KutoolsforExcel Появится диалоговое окно, в котором вы можете выбрать диапазон, в котором вы хотите удалить строки, не соответствующие критериям. Смотрите скриншот:
4. Нажмите OK, и появится другое диалоговое окно для выбора критериев на другом листе, см. снимок экрана:
5. Теперь все строки, не соответствующие критериям на другом листе, удаляются.
Удалите строки, не соответствующие критериям на другом листе, с помощью Kutools for Excel
Если код VBA для вас немного сложен, вы можете попробовать Kutools for Excel's Compare Ranges.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас
1. Выберите лист, на котором вы хотите удалить строки, не соответствующие критериям. И нажмите Кутулс > Сравнить диапазоны. Смотрите скриншот:
2. в Сравнить диапазоны диалоговом окне нажмите кнопку в Диапазон B, а затем вы можете выбрать нужный вам диапазон критериев. Смотрите скриншот:
3. Затем нажмите OK, затем вернемся к Сравнить диапазоны диалог, проверьте Другое значение и Выбрать целые строки. Смотрите скриншот:
4. Нажмите Ok, и выйдите из Сравнить диапазоны диалог. Затем вы видите, что выбираются строки значений, которые отличаются от критериев.
5. Щелкните правой кнопкой мыши, чтобы щелкнуть Удалить из контекстного меню, чтобы удалить строки, не соответствующие критериям на другом листе.
Нажмите здесь, чтобы получить дополнительную информацию о Kutools for Excel's Compare Ranges.
Относительные статьи:
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!