簡體   English   中英

使用循環根據單元格中的值刪除整行

[英]Deleting an entire row based on the value in a cell with a loop

我正在嘗試編寫一個宏/vba,它將檢查我的 excel 表中的第 12 - 451 行。 如果列“H”(在任何所述行中)包含零值,則應刪除該行。

Excel 將用於上傳程序,並且“H”列中不能有任何零值

我記錄了一個宏,它用所需的數據填充第 12 - 451 行(“A”到“H”列),但是我可以添加到宏(最后)的一段代碼有問題,這將循環返回並刪除“H”列中值為零的任何行。

我試圖記錄“刪除”宏,但無法弄清楚如何使代碼循環遍歷每一行並刪除具有零值的那些。

  • 注意 - 列“H”值將隨數值數據而變化,這些數據將在該數據中包含零(即 100,341.00)。 這個值應該保留。 只有那些只包含“0”的單元格才應該被消除。 括號不包含在上傳表中...

如果需要更多信息,請告訴我。

試試這個:

Sub HKiller()
    For i = 451 To 12 Step -1
        If Cells(i, "H").Value = 0 Then Rows(i).Delete
    Next i
End Sub

請注意,我們從下到上工作以避免索引問題。

我正在嘗試相同的操作,即,如果兩列單元格中的任何一列具有“0”,則刪除列然后刪除該行。 我已經修改了上面的代碼。 請建議。

    Sub test()
    Dim Lastrow As Long, i As Long
    'LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column

    With ThisWorkbook.Worksheets("Sheet1")

    Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

    For i = 0 To Lastrow Step 1
        If Cells(i, "E" Or "F").Value = 0 Then Rows(i).Delete
        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
    Next i
    End With
End Sub

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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