|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
找到一段删除空行的代码,根绝需求自己修改了一下,功能可以完全实现,就是效率有点低,请教能否有提高的方法
行数少还行,500行以上就比较慢了!
Sub 删除空行()
Dim rnArea As Range
Dim lnLastRow As Long, i As Long, j As Long
Application.ScreenUpdating = False
lnLastRow = Sheet15.Range("G3:W" & [A65536].End(3).Row).Rows.Count '指定区域的行数
Set rnArea = Sheet15.Range("G3:W" & [A65536].End(3).Row) '指定的区域
j = 0 '选择删除后剩余的选择部分的数据准备
For i = lnLastRow To 1 Step -1 '循环执行lnLastRow次
If Application.CountIf(rnArea.Rows(i), "0") = 16 Then '选定区域的行的非空单元格计数为0时,因为有公式用了一个条件判断
rnArea.Rows(i).EntireRow.Delete '删除所选区域空白行的整行
j = j + 1 '选择删除后剩余的选择部分的数据
End If
Next i
rnArea.Resize(lnLastRow - j).Select '选择删除后剩余的选择部分
Application.ScreenUpdating = True
End Sub
|
|