我的工作正常,但速度很慢。重命名某些单元格的第一个功能运行起来非常快,但是删除多个合并的单元格行的while循环需要花费一分钟多张纸。
以下是相关代码:
$1
答案 0 :(得分:2)
如果还没有,请在代码的开头添加application.screenupdating=false
,并在代码的末尾添加application.screenupdating=true
,以加快处理速度。
然后,如果仍然很慢,请一次全部删除:
Dim rgToDelete As Range
i = LastRow - rowtofilter
Do While i > (rowtofilter - 1)
If Range(ColumnLetter1 & i).Value = 0 And Range(ColumnLetter2 & i) <> "string1" And Range(ColumnLetter4 & i) <> "string2" Then
If rgToDelete Is Nothing Then
Set rgToDelete = Range(ColumnLetter1 & i)
Else
Set rgToDelete = Union(rgToDelete , Range(ColumnLetter1 & i))
End If
End If
i = i - 1
Loop
rgToDelete .EntireRow.Delete
答案 1 :(得分:0)
Worksheet.UsedRange.Rows.Count
Worksheet.Visible = xlSheetVeryHidden
Application.Calculation = xlCalculationManual
请记住在完成后重新打开所有内容。
*请注意,在上述示例中,工作表应替换为对您正在使用的任何工作表的引用。