读书人

如何使用Range删除excel中某些行

发布时间: 2012-12-17 09:31:40 作者: rapoo

怎么使用Range删除excel中某些行
用如下方式 手动选择要处理的区域,并对各个区域判断,满足条件即删除
Set Rng = Application.InputBox("选择要查找的区域:", "区域选择", "A:A", Type:=8)
For Each Crng In Rng
If Crng.values <> "test" Then
Crng.EntireRow.Delete
End If
Next

但是发现,只能删除一半,我想原因可能是有些行被删除之后,表格发生了变化,继续删除就发生了错误。

拜求方法!!!!

最好仍使用range,因为有多行合并为一个单元格的情况

[最优解释]
1)开一个 Boolean 数组,下标为行号。
2)For Each Crng In Rng 中将要删除的行标记为 True。
3)从大到小遍历数组,将标记为 True 的行删除。
[其他解释]
手动选择的一般为整列, 其实for each从最后一行向前遍历就可以, 但是貌似不行,有其他的可行方法吗???
[其他解释]
拿这个去看看:http://download.csdn.net/detail/veron_04/1627080
[其他解释]
ls 是一种方法 ,顶起
[其他解释]
或者不删除 新建一个表格并且 将没被删除的拷贝过去 , 求具体代码, 多谢
[其他解释]
你调用自动筛选不就解决了么、而且速度飞快。。。。

读书人网 >VB

热点推荐