Vba 过滤及;删除整行
我正在尝试构建一个可以过滤和删除35000行的代码 我使用了下面的代码,但它需要很多时间(超过10分钟),有人能帮我更快吗 代码1:Vba 过滤及;删除整行,vba,filter,rows,Vba,Filter,Rows,我正在尝试构建一个可以过滤和删除35000行的代码 我使用了下面的代码,但它需要很多时间(超过10分钟),有人能帮我更快吗 代码1: Range("$A$1:$S$50000").AutoFilter Field:=19, Criteria1:="Delete" ActiveSheet.AutoFilter.Range.Offset(1, 0).Rows.SpecialCells(xlCellTypeVisible).Delete (xlShiftUp) 代码2: Dim RngToDelet
Range("$A$1:$S$50000").AutoFilter Field:=19, Criteria1:="Delete"
ActiveSheet.AutoFilter.Range.Offset(1, 0).Rows.SpecialCells(xlCellTypeVisible).Delete (xlShiftUp)
代码2:
Dim RngToDelete As Range
Range("$A$1:$S$50000").AutoFilter Field:=19, Criteria1:="Delete"
Set RngToDelete = Selection.SpecialCells(xlCellTypeVisible)
RngToDelete.Delete
谢谢,
Amith您可以使用性能更快的AdvancedFilter来完成任务 A.不含VBA的解决方案 数据->高级筛选,选择“就地筛选列表”,并填写数据范围和条件 B.带有VBA代码的解决方案 范围(“A1:S50000”)。高级筛选操作:=XLFilterInput,标准范围:=Range(“U1:U2”),唯一性:=False
请使用单元格U1上的字段名(第19列)和单元格U2上的“删除”来定义条件。当然,您可以将标准范围放在其他位置。您可以使用性能更快的AdvancedFilter来完成任务 A.不含VBA的解决方案 数据->高级筛选,选择“就地筛选列表”,并填写数据范围和条件 B.带有VBA代码的解决方案 范围(“A1:S50000”)。高级筛选操作:=XLFilterInput,标准范围:=Range(“U1:U2”),唯一性:=False
请使用单元格U1上的字段名(第19列)和单元格U2上的“删除”来定义条件。当然,您可以将您的标准范围放在其他位置。您是否已经
application.ScreenUpdate=FALSE
?这将节省大量时间。是的,我使用了-application.ScreenUpdate=FALSE。您是否已经application.ScreenUpdate=FALSE
?这将节省大量时间。是的,我使用了-application.screenupdating=FALSE