根据其他工作表标准删除行
根据另一张工作表中的条件,我在Excel的工作表中有两个删除行。
条件表如下
Delete(Y/N) ReferenceID Y 1 N 2 Y 3 Y 4 N 5
数据表如下
Name ReferenceID John 1 Andy 2 Mary 3 Anna 4 Rony 5
根据删除(是/否)栏的forms,我必须删除约翰,玛丽和安娜,参考ID 1,3和5
我在这里查看了另一个解决scheme示例,但情况似乎来自同一张表。 我不知道如何根据适用的参考文献从另一张纸上进行工作。
任何想法如何做到这一点。
使用Yes创buildReferenceID字典,然后使用xlFilterValues参数在字典键上创buildAutoFilter。 如果有可见的行,请删除它们。
Option Explicit Sub qwewqw() Dim d As Long, dict As Object Set dict = CreateObject("Scripting.Dictionary") dict.comparemode = vbTextCompare With Worksheets("Conditional") For d = 2 To .Cells(Rows.Count, "B").End(xlUp).Row If LCase(.Cells(d, "A").Value2) = "y" Then dict.Item(CStr(.Cells(d, "B").Value2)) = .Cells(d, "A").Value2 End If Next d End With With Worksheets("Data") If .AutoFilterMode Then .AutoFilterMode = False With .Cells(1, "A").CurrentRegion .AutoFilter Field:=2, Criteria1:=dict.keys, Operator:=xlFilterValues With .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count) If CBool(Application.Subtotal(103, .Cells)) Then .Cells.EntireRow.Delete End If End With .AutoFilter End With End With End Sub
奇怪的是,以这种方式使用字典的键要求您将数字作为文本进行过滤。