ET疑难千寻千解丛书之EXCEL2010编程与实践 罗刚君 章兰新 黄朝阳 编著
疑难15
如何优化过程“删除空单元格所在行” 批量删除工作表中的空行是比较常见的操作,其代码如下,可以简化吗?
- Sub 删除空单元格所在行()
- Dim i As Integer
- Application.ScreenUpdating = False '关掉屏幕刷新从而提速
- For i = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
- '循环判断B列所有数据
- If Len(Cells(i, 2)) = 0 Then Cells(i, 2).EntireRow.Delete
- '如果字符长度为0则整行删除
- Next
- Application.ScreenUpdating = True '恢复屏幕更新
- End Sub
复制代码è解决方案 利用定位法一步完成删除空单元格所在行。 í操作方法 步骤1
不采用循环方案,而用定位法,代码如下:
- Sub 删除空单元格所在行2()
- On Error Resume Next '防止不存在空单元格时出错
- '定位B列的空单元格,然后整行删除
- Range([b2], Cells(Rows.Count, 2).End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
- End Sub
复制代码步骤2
分别执行两段代码,均可实现B列空单元格整行删除的需求,但优化后的过程效率较高。
============================= 以上摘自《EXCEL2010编程与实践》 |