删除VBA中的行
我正在Excel 2013中编写VBA代码。 我需要过滤一张工作表并保留某些行(假设过滤列B并保留该列中包含“Apple”的行),但是,我想删除除带有“Apple”的行之外的所有行 所以我的问题是-在VBA代码中有没有一种聪明的方法可以做到这一点,如果有,那么如何做到? 或者我应该过滤除“苹果”之外的所有内容,将剩余的行复制粘贴到另一张纸上,然后在新的纸上工作 谢谢大家! 没有自动过滤器:删除VBA中的行,vba,excel,Vba,Excel,我正在Excel 2013中编写VBA代码。 我需要过滤一张工作表并保留某些行(假设过滤列B并保留该列中包含“Apple”的行),但是,我想删除除带有“Apple”的行之外的所有行 所以我的问题是-在VBA代码中有没有一种聪明的方法可以做到这一点,如果有,那么如何做到? 或者我应该过滤除“苹果”之外的所有内容,将剩余的行复制粘贴到另一张纸上,然后在新的纸上工作 谢谢大家! 没有自动过滤器: Sub RowKiller2() Dim N As Long, rDel As Range, cl
Sub RowKiller2()
Dim N As Long, rDel As Range, cl As String
Dim kv As Variant, r As Range, rBig As Range
cl = "B"
kv = "Apple"
N = Cells(Rows.Count, cl).End(xlUp).Row
Set rBig = Range(cl & 1 & ":" & cl & N)
For Each r In rBig
If r.Value <> kv Then
If rDel Is Nothing Then
Set rDel = r
Else
Set rDel = Union(rDel, r)
End If
End If
Next r
If Not rDel Is Nothing Then
rDel.EntireRow.Delete
End If
End Sub
Sub-RowKiller2()
尺寸N等于长度,rDel等于范围,cl等于字符串
尺寸kv作为变型,r作为量程,rBig作为量程
cl=“B”
kv=“苹果”
N=单元格(Rows.Count,cl).结束(xlUp).行
设置rBig=范围(cl&1&“:”&cl&N)
对于rBig中的每个r
如果r.值为kv,则
如果rDel什么都不是
设置rDel=r
其他的
集合rDel=并集(rDel,r)
如果结束
如果结束
下一个r
如果不是,那么rDel什么都不是
rDel.EntireRow.Delete
如果结束
端接头
在这里查看我的答案:将尝试-谢谢:)