Excel VBA刪除工作表中的所有空行

Excel VBA刪除工作表中的所有空行


刪除工作表中的所有空行,需要用到工作表對象的UsdeRange屬性。

UsdeRange屬性表示工作表中已經使用過的單元格區域。

如新建一個工作表,編輯C4:I13單元格區域,如下圖:

Excel VBA刪除工作表中的所有空行

然後運行代碼:Sheet2.UsedRange.Select,效果如下圖:

Excel VBA刪除工作表中的所有空行

可見這種情況下,若要刪除活動工作表中所有空行,需用下面代碼:

ActiveSheet.UsedRange.Rows.Count +ActiveSheet.UsedRange.Rows(1).Row - 1

ActiveSheet.UsedRange.Rows.Count 返回1工作表中已使用單元格的行數

ActiveSheet.UsedRange.Rows(1).Row 返回已使用單元格區域的首行行號

在上面的例子中分別返回10和4,見下面的圖片。

Excel VBA刪除工作表中的所有空行

所以要刪除所有空行,通過計算:10+4-1=13,得出工作表中最後的行號是13。

而不是單單的使用UsedRange.Rows.Count來表示最後的行號(10)。

所以在循環刪除空行的時候是For 13 to 1 step -1 。

刪除活動工作表中所有空行的代碼為:

Excel VBA刪除工作表中的所有空行

演示效果為:

Excel VBA刪除工作表中的所有空行

刪除空列一樣的道理。感興趣的讀者可以做做這個小代碼,給工作表"減肥"。


分享到:


相關文章: