excel vba 删除符合条件的行

2025-02-26 13:10:40
推荐回答(4个)
回答1:

rows("x:n").clearcontents
这句有两处不对:
一是对象引用,x和n是你要删除的行号,引号内的xn就成了字符,无法用对应的数字替换,应为
rows(x
&":"&
n)
第二是方法错误:clearcontents
方法只是清除内容,并不删除行,应改为delete方法
这句应改为:rows(x
&":"&
n).delete

回答2:

Option Explicit
Sub Sdel()
    Dim a As Worksheet, b As Worksheet
    Dim la As Integer, lb As Integer
    Dim i As Integer
    Set a = Sheets("a") '这里设置表a的名字
    Set b = Sheets("b") '这里设置表b的名字
    la = a.[b60000].End(xlUp).Row
    lb = b.[b60000].End(xlUp).Row
    For i = lb To 1 Step -1
        If Application.CountIf(a.Range("b1:b" & la), b.Range("b" & i)) Then b.Range("b" & i).EntireRow.Delete
    Next i
End Sub

回答3:

在辅助列用COuntif函数,不需要删除的就是0,排序一下,大于零的一块删除。

回答4:

用字典法应该容易