您好我工作的VBA代碼,通過我的所有數據,只刪除整個行,如果它是空白的。因此一旦空行被刪除,行就會上移。只有當行是空白時刪除整個行,否則如果任何行包含任何數據仍然
但是,如果我有一行包含一些數據。我希望這一行保持不變。
我在那裏看到的所有例子都刪除了整行,即使它在行中有一些數據。其中一些刪除行但不刪除該行,以便單元格向上移動。
請幫我一把。
您好我工作的VBA代碼,通過我的所有數據,只刪除整個行,如果它是空白的。因此一旦空行被刪除,行就會上移。只有當行是空白時刪除整個行,否則如果任何行包含任何數據仍然
但是,如果我有一行包含一些數據。我希望這一行保持不變。
我在那裏看到的所有例子都刪除了整行,即使它在行中有一些數據。其中一些刪除行但不刪除該行,以便單元格向上移動。
請幫我一把。
嘗試以下各項
Option Explicit
Sub DeleteBlankRow()
Dim i As Long
ActiveSheet.UsedRange.Select
'//- Turn off calculation and screenupdating.
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'//- Work backwards because we are deleting rows.
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
您可以使用此算法:
1)找到最後一行是包含任何價值;
2)通過與行中值的計數的行執行循環和在情況下刪除行當行值的計數等於零,它可以看起來像下面的例子:
Sub DeleteBlankRows()
Dim i&: i = Cells.Find("*", , , , xlByRows, xlPrevious).Row
While i <> 0
If WorksheetFunction.CountA(Rows(i)) = 0 Then Rows(i).Delete
i = i - 1
Wend
End Sub
*「所有那裏的解決方案「* - 您可以包含這樣的解決方案嗎? – GolezTrol