如何在 Excel 中一次查找和删除多个匹配项?
在 Excel 中处理大数据时,能够在任何特定时刻快速找到您需要的信息至关重要。 这就是您需要查找和替换功能的时候,它可以帮助您在活动工作表或整个工作簿中查找和突出显示特定值或格式,然后对结果执行您想要的操作,例如删除或替换它们。 但是,使用 Excel 的查找和替换,您一次只能找到一个值。 在本教程中,我将介绍一种快速查找多个不同值并在 Excel 中一次删除它们的方法。
使用 VBA 一次查找和删除多个匹配项
使用“选择特定单元格”功能一次查找和删除多个匹配项
使用 VBA 一次查找和删除多个匹配项
我们创建了两个 VBA 代码来帮助您在所选范围内或跨多个工作表中查找多个不同的值并立即删除它们。 请按照以下步骤并根据您的需要运行代码。
1. 在 Excel 中,按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。
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 行,你应该替换 “销售”、“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 行,你应该替换 “表 1”、“表 2” 使用要在其中查找和删除值的工作表的实际名称。 请记住用双引号将每个工作表名称括起来,并用逗号分隔它们。
在片段中 xArrFinStr = Array("sales", "9", "@") 在第 16 行,你应该替换 “销售”、“9”、“@” 对于要查找和删除的实际值,请记住用双引号将每个值括起来并用逗号分隔它们。
3。 按 F5 运行 VBA 代码。 请注意: 如果使用 VBA代码1,将弹出一个对话框,要求您选择查找和删除值的范围。 您还可以单击工作表选项卡以选择整个工作表。
4. 弹出如下图的对话框,告诉你代码已经删除了指定的匹配项。 点击 OK
关闭对话框。
5. 指定的值已被一次性删除。
使用“选择特定单元格”功能一次查找和删除多个匹配项
Kutools for Excel 提供 选择特定的单元格 一次查找满足您设置的一个或两个条件的值的功能,请继续阅读以了解如何一次快速查找和删除多个值。
1。 在 Kutools 标签,在 编辑 组,点击 选择 > 选择特定的单元格
.
2.在弹出窗口中 选择特定的单元格 对话框,请执行以下操作:
在 选择此范围内的单元格 框,单击范围选择按钮 在右侧指定范围 在哪里查找和删除值. 请注意: 要搜索整个工作表,请单击工作表选项卡。
在 选择类型 部分,选择 手机 选项。
在 特定类型 部分,最多设置两个条件:
点击左侧的下拉箭头,选择您需要的关系,例如 包含, 等于, 小于, 开始于等等。
根据需要在相应框中键入值。
指定两个条件之间的关系(如果有): 和 or Or.
3。 点击 Ok
选择满足您设置的条件的单元格。 将弹出一个对话框,告诉您找到并选择了多少个单元格。
4。 点击 OK. 现在,按 删除
键一次删除选定的值。
请注意: 要使用 选择特定的单元格 功能,你应该有 Kutools for Excel 安装在您的计算机中。 如果你没有 Kutools 安装后, 点击这里下载并安装. 专业的 Excel 插件提供 30 天免费试用,没有任何限制。
在 Excel 中一次查找和删除多个匹配项
相关文章
在Excel中查找,突出显示,过滤,计数,删除重复项
在Excel中,当我们手动记录数据,从其他来源复制数据或出于其他原因而重复出现数据。 有时,重复是必要且有用的。 但是,有时重复的值会导致错误或误解。 本文将介绍在Excel中通过公式,条件格式设置规则,第三方加载项等快速识别,突出显示,筛选,计数,删除重复项的方法。
如何在 Excel 中比较两列并删除匹配项?
如果您有两列/列表,其中包括一些重复项,现在您要比较它们并找出匹配项,然后将其删除,如何快速解决? 在本文中,我介绍了多种方法来帮助您在Excel中进行处理。
如何在 Excel 中删除除选定范围之外的所有范围?
在Excel中,我们可以快速直接删除选定的范围,但是您是否尝试过删除选定范围以外的其他单元格内容? 本文,我将为您介绍一些技巧,以帮助您快速轻松地解决Excel中的此任务。
如何删除一系列单元格中的所有图片?
如果现在在工作表中填充了多张图片,您想在指定范围内删除其中的一些图片,如何快速处理?
最佳办公生产力工具
将小时转化为分钟 Kutools for Excel!
准备好增强您的 Excel 任务了吗? 利用的力量 Kutools for Excel - 您终极的节省时间的工具。 简化复杂的任务并像专业人士一样浏览数据。 以闪电般的速度体验 Excel!
为什么需要 Kutools for Excel
🛠️ 超过 300 项强大功能: Kutools 包含 300 多项高级功能,可简化您在 1500 多种场景中的工作。
📈 卓越的数据处理能力:合并单元格、删除重复项并执行高级数据转换 - 所有这些都不费吹灰之力!
⏱️ 高效的批量操作:当你可以聪明地工作时,为什么还要付出额外的努力呢? 轻松批量导入、导出、组合和调整数据。
📊 可定制的图表和报告:访问各种附加图表并生成富有洞察力的报告。
🗄️ 强大的导航窗格:通过强大的列管理器、工作表管理器和自定义收藏夹获得优势。
📝 七种类型的下拉列表:通过各种功能和类型的下拉列表使数据输入变得轻而易举。
🎓 用户友好:对于初学者来说轻而易举,对于专家来说是一个强大的工具。
立即下载,与 Excel 一起穿越时空!
阅读更多
免费下载... 采购...
Office Tab 为 Office 带来选项卡式界面,让您的工作更轻松
在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
每天将您的工作效率提高50%,并减少数百次鼠标单击!