如何删除其他工作表上不符合条件的行

ms excelmicrosoft technologiescomputers更新于 2024/8/21 9:48:17

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

然后点击"选择单元格"完成任务。

选择单元格 > 确定。

结论

在本教程中,我们使用了一个简单的示例来演示如何删除另一张工作表上不符合条件的行,以突出显示特定的一组数据。


相关文章


有用资源