我不熟悉宏和脚本。
如果第3,4和5列为空,我想删除该行。
Sub DeleteRows()
Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
适用于案例只是第3行的情况,但我尝试了各种方法让它按预期工作;它们都会导致某种错误。
那么,我该怎么做呢?
答案 0 :(得分: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
让我知道这是否有效以及是否需要更多解释!