删除空行直到LastRowvariables

我试图删除所有空行,直到LastRowvariables。 下面你会发现我的样品。 那个工作似乎是一个严肃的解决办法,我相信它可以更短/更快 ,我只是不知道如何做到这一点。

作品 – 严重的解决方法

 LastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 to LastRow If Range("A" & i).value = "" then Range("A" & i).value = "xxxxx" End if Next i For i = 1 to LastRow If Range("A" & i).value = "xxxxx" then Range("A" & i).Delete i = i - 1 End if Next i 

无限循环

 LastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 to LastRow If Range("A" & i).value = "" then Range("A" & i).Delete i = i - 1 End if Next i 

首先我假设你有计算设置为手动

其次你有一个for循环,将1 = i + 1,你做i = i-1因此i = i + 1-1无限循环。 这也应该发生在工作的解决方法(同样的错误)。

你可以selectFor循环,也是负循环。 由于删除缩短了范围,您可以从底部开始,现在就开始工作

代码如下所示:

 LastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = LastRow to 1 Step -1 If Range("A" & i).value = "" then Range("A" & i).Delete End if Next i 

如果要删除完整的行,请使用Range("A" & i).EntireRow.Delete

我没有testing这个代码,但它应该工作(也许稍作修改):

 Range("A1:A" & LastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete