2014-02-12 41 views
0

我有一個excel工作表,我已經排序到日期順序中,並且在電子表格的底部留下了很多空白,我想刪除它,但將最後一行二。 (最下面的一個格式化爲藍色,高度爲6,上面的那個爲空白,也是高度爲6)。當工作表長度不一致時,刪除數據後的空白行

的數據從A5存儲到J,長度變化 - 標籤名稱是Date Order

有誰知道任何VBA代碼,將有助於解決這個問題。

任何幫助將不勝感激。

+0

您是否考慮過循環並檢查單元格的'interior.color'和'cell.Height'? –

+0

我確實認爲這可能會消失,但我不知道該怎麼做 - 你能幫忙嗎? – TkdKidSnake

+0

這是一個場景,我通常會建議用戶循環使用'Usedrange'。使用像這樣的'For i = LastRow To ThisWorkbook.Sheets(「sheet1」)。UsedRange.Rows.Count'然後檢查'cell.interior.color'和'cell.Height'。要找到最後一行,並瞭解'usedrange'是如何工作的,請參閱[THIS]鏈接(http://stackoverflow.com/questions/11169445/error-finding-last-used-cell-in-vba)。 –

回答

1

這樣做訣竅,如果任何人想要的代碼,但它不會離開最後兩行沒有人知道如何做到這一點?

' This macro deletes all rows on the active worksheet 
' that have no value in column A. 
Dim iRow As Long 
Dim LastRow As Long 
LastRow = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row - 1 
For iRow = LastRow To 1 Step -1 
If Cells(iRow, 1) = "" Then Rows(iRow).Delete 
Next iRow