Как найти и удалить несколько совпадений одновременно в Excel?
При работе с большими объемами данных в Excel очень важно быстро находить нужную информацию в любой момент. Для этого используется функция Поиск и Замена, которая позволяет находить и выделять определённые значения или форматы на текущем листе или во всей книге, а затем выполнять с результатами необходимые действия, например, удалять или заменять их. Однако стандартная функция Поиск и Замена в Excel позволяет искать только одно значение за раз. В этом руководстве я расскажу, как быстро найти несколько разных значений и удалить их одновременно в Excel.
Поиск и удаление нескольких совпадений одновременно с помощью VBA
Мы подготовили два VBA-кода, которые помогут вам найти несколько разных значений в выбранном диапазоне или на нескольких листах и сразу их удалить. Пожалуйста, выполните следующие шаги и запустите нужный код в зависимости от ваших задач.
1. В Excel нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставка > Модуль. Затем скопируйте один из следующих VBA-кодов в Модуль окно.
VBA-код1: Найти и удалить несколько совпадений в выбранном диапазоне одновременно
Sub FindAndDeleteDifferentValues_Range()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ
xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas
On Error Resume Next
Set xRg = Application.InputBox("Please select the search scope:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub
xBol = False
For Each xARg In xRg.Areas
Set xFindRg = Nothing
Set xFindRgs = Nothing
Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.ClearContents
End If
Next
If xBol Then
MsgBox "Successfully deleted."
Else
MsgBox "No results found."
End If
End Sub
Примечание: В фрагменте xArrFinStr = Array("sales", "9", "@") в13-й строке замените "sales", "9", "@" на фактические значения, которые вы хотите найти и удалить. Не забудьте заключить каждое значение в двойные кавычки и разделить их запятыми.
VBA-код2: Найти и удалить несколько совпадений на нескольких листах одновременно
Sub FindAndDeleteDifferentValues_WorkSheets()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and delete the values. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
Set xWSh = xWb.Worksheets(xArr(xI))
Set xFindRg = Nothing
xWSh.Activate
Set xFindRgs = Nothing
Set xURg = xWSh.UsedRange
Set xFindRgs = Nothing
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.ClearContents
End If
Next
If xBol Then
MsgBox "Successfully deleted."
Else
MsgBox "No results found."
End If
End Sub
- В фрагменте xArr = Array("Sheet1", "Sheet2") в15-й строке замените "Sheet1", "Sheet2" на реальные имена листов, на которых вы хотите найти и удалить значения. Не забудьте заключить каждое имя листа в двойные кавычки и разделить их запятыми.
- В фрагменте xArrFinStr = Array("sales", "9", "@") в16-й строке замените "sales", "9", "@" на фактические значения, которые вы хотите найти и удалить. Не забудьте заключить каждое значение в двойные кавычки и разделить их запятыми.
3. Нажмите F5, чтобы запустить VBA-код. Примечание: Если вы используете VBA-код1, появится диалоговое окно с просьбой выбрать диапазон, в котором нужно найти и удалить значения. Также можно кликнуть по вкладке листа, чтобы выбрать весь лист.
4. Появится диалоговое окно, как показано ниже, информирующее, что код удалил указанные совпадения. Нажмите OK чтобы закрыть диалоговое окно.
5. Указанные значения были удалены одновременно.
Поиск и удаление нескольких совпадений одновременно с помощью функции Выбрать определенные ячейки
Kutools для Excel предлагает функцию Выбрать определенные ячейки, с помощью которой можно найти значения, соответствующие одному или двум заданным условиям одновременно. Читайте далее, чтобы узнать, как быстро найти и удалить несколько значений сразу.
1. На вкладке Kutools в группе Редактирование нажмите Выбрать > Выбрать определенные ячейки.
- В поле Выберите ячейки в диапазоне нажмите кнопку выбора диапазона
справа, чтобы указать диапазон, в котором будет производиться поиск и удаление значений. Примечание: Чтобы выполнить поиск по всему листу, кликните по вкладке листа.
- В разделе Выбрать тип выберите опцию Ячейка.
- В разделе Указать тип установите не более двух условий:
- Щёлкните по стрелке раскрывающегося списка слева, чтобы выбрать нужное отношение, например, Содержит, Равно, Меньше, Начинается с и т.д.
- Введите значение в соответствующее поле в зависимости от ваших потребностей.
- Укажите отношение между двумя условиями (если они есть): И или Или.

3. Нажмите ОК чтобы выбрать ячейки, соответствующие заданным условиям. Появится диалоговое окно с информацией о количестве найденных и выбранных ячеек.
4. Нажмите OK. Теперь нажмите клавишу DELETE чтобы удалить выбранные значения одновременно.
Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас
Демонстрация: Как найти и удалить несколько совпадений одновременно в Excel
Связанные статьи
Поиск, выделение, фильтрация, подсчёт, удаление дубликатов в Excel
В Excel дублирующиеся данные часто появляются при ручном вводе, копировании из других источников или по другим причинам. Иногда дубликаты необходимы и полезны. Однако в некоторых случаях дублирующиеся значения приводят к ошибкам или недопониманию. В этой статье представлены методы быстрого определения, выделения, фильтрации, подсчёта и удаления дубликатов с помощью формул, правил условного форматирования, сторонних надстроек и других инструментов в Excel.
Как сравнить два столбца и удалить совпадения в Excel?
Если у вас есть два столбца/списка с некоторыми дубликатами, и вы хотите сравнить их, найти совпадения и удалить их, как это сделать быстро? В этой статье я расскажу о разных способах решения этой задачи в Excel.
Как удалить всё, кроме выбранных диапазонов в Excel?
В Excel можно быстро удалить выбранные диапазоны, но пробовали ли вы когда-нибудь удалить содержимое всех других ячеек, кроме выбранных диапазонов? В этой статье я поделюсь несколькими приёмами, которые помогут быстро и легко выполнить эту задачу в Excel.
Как удалить все изображения в диапазоне ячеек?
Если на вашем листе размещено несколько изображений, и теперь вы хотите удалить некоторые из них в определённом диапазоне, как быстро это сделать?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!