[英]VBA Trying to loop through a column and delete the entire row if they contain a value
我不太擅長循環。
我正在嘗試使用 VBA 循環遍歷列以查找任何值,然后如果找不到任何值,則刪除整行(這本質上是一種刪除我已標記(或未標記)的數據行的方法這個案例))。
我嘗試過各種各樣的事情。 我最近的嘗試如下,但它只是刪除每一行,無論該單元格是否有值。 有什么建議么?
Dim i as Long
For i = 1 To 50
If Cells(i, 1).Value = "" Then
Selection.EntireRow.Delete
Else
i = i + 1
End If
Next i
End Sub
這里有幾個問題:
在循環中刪除行時向后工作,如果向前移動,您的行號會隨着您的刪除而改變。
接下來不需要增加變量“i”我已經這樣做了
使用工作表 object 刪除行而不是選擇
我會這樣重寫:
Sub delete()
Dim i As Long
For i = 50 To 1 Step -1
If Cells(i, 1).Value = "" Then
Worksheets("Sheet1").Rows(i).EntireRow.delete
End If
Next i
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.