簡體   English   中英

VBA 嘗試遍歷列並刪除整行(如果它們包含值)

[英]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

這里有幾個問題:

  1. 在循環中刪除行時向后工作,如果向前移動,您的行號會隨着您的刪除而改變。

  2. 接下來不需要增加變量“i”我已經這樣做了

  3. 使用工作表 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM