Excel教程下载中心,Microsoft技术社区联盟成员,全球领先的Excel2003/2007/2010门户,培训学习Office的最佳社区

 14 12
发新话题
打印

[已解决]如何用代码实现删除数据间的空白行?     hits : 1528

[已解决]如何用代码实现删除数据间的空白行?

 在数据中间有很多空白的行,如何删除?总共四万多行,其中 空白行有二万多行,数据多了用筛选复制不行,用代码如何实现?


[此贴子已经被作者于2008-3-17 22:23:07编辑过]

附件: 您所在的用户组无法下载或查看附件

TOP


附件: 您所在的用户组无法下载或查看附件

TOP

谢谢版主!

能不能实现删除中间的空白行,而不是把A例的数据筛选复制到其它例?

TOP

Sub 删除空白行()
Dim x%, a% '定义自变量x,a
a = Range("a65536").End(xlUp).Row '找到A列最后一个非空单元格
For x = 1 To a '在1和a之间循环
If Len(Cells(a - x, 1)) = 0 Then '从下往上通过字符判断是否是空单元格
Cells(a - x, 1).EntireRow.Delete '如果是则删除空单元格所在行
End If
Next x
End Sub
因为信任,所以简单。

TOP

感谢syz105729913,神速啊!

几秒钟就回贴了

是不是数据多了有点问题出现了。

就是这句:

a = Range("a65536").End(xlUp).Row '找到A列最后一个非空单元格



[此贴子已经被作者于2008-3-17 20:23:50编辑过]

附件: 您所在的用户组无法下载或查看附件

TOP

Sub sc()
Dim x&
For x = Range("a65536").End(xlUp).Row To 1 Step -1
    If Cells(x, 1) = "" Then Rows(x).Delete
Next
End Sub

TOP

Sub DeleteEmptyRows()
    Dim LastRow As Long, r As Long
    LastRow = ActiveSheet.UsedRange.Rows.Count
    LastRow = LastRow + ActiveSheet.UsedRange.Row - 1
    Application.ScreenUpdating = False
    For r = LastRow To 1 Step -1
        If WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
    Next r

Application.ScreenUpdating = True
End Sub

上面是《宝典》中的一段示例代码,能高效地快速删除空行,您试试!

[此贴子已经被作者于2008-3-17 20:54:10编辑过]

TOP

感谢各位的热心解答,解决了,fanjy版主的运行速度很快。

感谢你们!!!

TOP

Dim x%, a% '定义自变量x,a
红色部分改为x&,a&
因为信任,所以简单。

TOP

学习,留个记号

TOP

 14 12
发新话题
最近访问的版块
本论坛言论纯属发表者个人意见,与Excel Home立场无关,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!