如何在另一个工作表上删除不符合条件的行
Excel 是一款强大的数据处理和分析应用程序,允许用户以各种方式编辑和分析数据。在处理大型数据集时,通常需要筛选并丢弃不满足指定条件的条目。虽然 Excel 具有内置的筛选功能,但基于另一个工作表的条件删除行需要更复杂的方法。
删除另一个工作表上不符合条件的行
在这里,我们将首先创建一个 VBA 模块,然后运行它来完成任务。让我们来看一个简单的流程,了解如何删除另一个工作表上不匹配条件的行。
步骤 1
考虑两个 Excel 工作表,在一个工作表上有一份项目列表,在另一个工作表上是条件。
首先,右键单击包含项目的工作表的表名,然后单击“查看代码”以打开 VBA 应用程序。
右键单击 > 查看代码。
步骤 2
然后单击“插入”,选择“模块”,并将下面的代码复制到文本框中。
插入 > 模块 > 复制。
示例
Sub DeleteRow() 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 = "Delete Rows Matching" 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
然后单击 F5 运行模块,选择项目范围,然后单击“确定”。
F5 > 选择范围 > 确定。
步骤 4
然后选择包含条件的单元格,然后单击“确定”以完成任务。
选择单元格 > 确定。
结论
在本教程中,我们使用了一个简单的示例来演示如何删除另一个工作表上不符合条件的行,以突出显示特定数据集。
广告