关于Excel中的行删除

关于Excel中的行删除

在Excel中对于空行的删除有人已经讨论过:
Application.ScreenUpdating = False

        j = Range("A4000").End(xlUp).Row
        i = 1
    For A = 1 To j
       Rows(i).Select
        If Application.CountA(Selection.Rows) = 0 Then
            Selection.Rows.Delete
                 i = i - 1
        End If
                 i = i + 1
     Next A
        Application.ScreenUpdating = True

可是如果我要删除的行不是全为空,而是通过每行的第一列的值来判断怎么办?

 


Rogersfeng

試試
Sub test()
Dim i As Long, j As Integer
dim pt as range
Application.ScreenUpdating = False
i = ActiveSheet.Range("a65536").End(xlUp).Row
For j = i To 1 Step -1
    Set pt = ActiveSheet.Cells(j, 1)
    If pt = "" Then pt.EntireRow.Delete
Next
Application.ScreenUpdating = True
End Sub

 


这里提示错误13:“类型不匹配”
我想dim pt as range,那么If pt = "" Then pt.EntireRow.Delete这句话应该是     
if pt的值=“” Then pt.EntireRow.Delete!
可是我试了If pt.vaule = "" Then pt.EntireRow.Delete,它还是提示:“类型不匹配”

 


 

将If pt = "" Then pt.EntireRow.Delete改为If Application.CountA(pt) = 0 Then pt.EntireRow.Delete即可以了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值