我想知道是否有比我正在使用的代码更快的方法来完成这个任务。我从录音机中得到了使用xlUp的代码。
rCnt = Cells(Rows.Count, "B").End(xlUp).Row ActiveSheet.Range("$B$1:$J" & rCnt).AutoFilter Field:=5, _ Criteria1:=Application.Transpose(arrCodes), Operator:=xlFilterValues Rows("2:" & rCnt).Delete Shift:=xlUp
实际上,如果有什么方法可以翻转过滤器,我根本不需要删除,因为这是我复制的临时表。然而,我所有的研究都没有找到方法。
Criteria1:=Application.Transpose(<>arrCodes)
arrCodes有太多的元素要在过滤器中列出。而且arrCodes中没有的东西太多了,无法用它来制作数组。谢谢。
【玩转 GPU】有奖征文
精美礼品等你拿!
我曾经成功地建造了然后删除了一个范围。您可以将范围与 Union() 合并。我附加了一些示例代码,它不是很好,但它展示了基本的概念。此示例删除第2行至第11行A列中带有奇数的行。
Union()
Public Sub DeleteRows() Dim deleteThis As Range For i = 2 To 11 If Sheet1.Cells(i, 1).Value Mod 2 = 1 Then If deleteThis Is Nothing Then Set deleteThis = Sheet1.Rows(i) Set deleteThis = Union(deleteThis, Sheet1.Rows(i))