答案 0 :(得分:1)
公式方法。输入此公式
=IFERROR(INDEX($B$1:$B$800, SMALL(IF(($B$1:$B$800)="", "", ROW($B$1:$B$800)-MIN(ROW($B$1:$B$800))+1), ROW(A1))),"")
单元格E1
中的并将其拖动到下方。您必须使用CTRL + SHIFT + ENTER输入它,因为它是一个数组公式。
然后输入此公式
=IFERROR(INDIRECT("A"&IFERROR(SMALL(IF(($B$1:$B$800)="","",ROW($B$1:$B$800)-MIN(ROW($B$1:$B$800))+1),ROW(A1)),0)),"")
单元格D1
中的并将其拖到底部。这也是数组公式,因此您需要使用CTRL + SHIFT + ENTER组合确认它。
答案 1 :(得分:0)
试试这个,
Sub test()
Sheets("Sheet2").Range("D1:E200").Value = Sheets("Sheet1").Range("A1:B200").Value
Sheets("Sheet2").Range("D1:E200").SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
Sheets("Sheet1").Range("D1:E200").Value = Sheets("Sheet2").Range("D1:E200").Value
End Sub
答案 2 :(得分:0)
我多次使用这一点代码来删除报告中的空白行。它会在列#34; A"中找到包含数据的最后一行。如果没有任何内容,请删除该行。
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Do While lastRow >= 1
If Cells(lastRow, 1).Value = "" Then Rows(lastRow).Delete
lastRow = lastRow - 1
Loop