2013-07-22 84 views
0

我是一般的宏和腳本的新手。刪除行如果多列空

如果列3,4和5爲空,我想刪除該行。

Sub DeleteRows() 
Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
End Sub 

適用於案件只是第3行,但我已經嘗試過各種方法讓它按預期工作;他們都會導致某種錯誤。

那麼,我該怎麼做呢?

回答

1

試試這個:

Sub DeleteRows() 
For i = 3 to 5 
    Columns(i).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
Next 

與此唯一的問題是,如果沒有空白單元格,它會回報你以錯誤。此替代方法是檢查EntireRow.Delete之前是否有空白單元格。

這裏是你如何能做到這一點:

Sub DeleteRows() 
Dim rngBlanks as Range 
Dim i as Integer 
For i = 3 to 5 
    On Error Resume Next 
    Set rngBlanks = Columns(i).SpecialCells(xlCellTypeBlanks) 
    On Error GoTo 0 
    If Not rngBlanks is nothing then 
     rngBlanks.EntireRow.Delete 
    End if 
Next 

讓我知道,如果這個工程,如果你需要更多的解釋!