以下是我的代碼。我試圖通過一些行,如果有某些數據,然後刪除這些行,但是我已經編碼它的當前方式,每當我刪除一行時,我跳過它下面的一行。我改變了範圍以將高數行記錄到低數行,但是我的宏仍然從頂部開始向下移動。我想如果我把它移動了,刪除不會導致它跳過下一個項目。我怎樣才能讓它從列表的底部向上移動,或者有什麼更好的方法來做到這一點? 我的代碼如下:刪除行而不跳過行如何?
Dim lLastRow As Long
Dim num As Integer
Dim name As String
Dim rCell As Range
Dim afCell As Range
Dim rRng As Range
Dim affectedRng As Range
Windows("Most Affected Customer Info.xls").Activate
Worksheets("Sheet 1").Activate
Cells(1, 1).Select
Selection.End(xlDown).Select
lLastRow = ActiveCell.Row
Set affectedRng = Range("A" & lLastRow & ":A2")
'First remove resolved entries
For Each afCell In affectedRng
If (afCell.Offset(0, 4).Value = "resolved" Or afCell.Offset(0, 4).Value _ = "Resolved" Or afCell.Offset(0, 2).Value = "Resolved" Or afCell.Offset(0, 2).Value = _ "resolved") Then
afCell.EntireRow.Delete
End If
Next afCell
如果有人發現需要更正,請告訴我,我會更新答案。 –
應該做的直到(cond)..... ..... ....循環但除此之外,它的效果很好。非常感謝 – Brian
就像Brian所說的那樣,我會做一個Do Until Loop,這樣它就可以工作,即使沒有數據行。 – Tipx