2015-10-14 59 views
0

我是新來的VBA for excel,我遇到了一些小問題。如果D列中的值大於E列中的值,我必須刪除整行。VBA如果1列中的值大於另一列中的值,則刪除整行

數據列表非常長,我需要繼續操作直到列C中的數據結束。任何幫助將是偉大的!

+0

你的問題不清楚。你在談論什麼價值?它是在該列的第一個還是最後一個數據單元格中?請詳細說明一個例子,以便SO可以幫助你。 –

+0

簡單整數如7,8,19,2和-1,-2,-3;如果D大於E,那麼它將循環遍歷從D 2開始的列D中的值(由於標題),並在列E中與其旁邊的單元格匹配,然後刪除該行。 – beng

回答

2

刪除行時,從底部開始並進行處理,或者由於與新刪除的行關聯的重新編號,您可能會跳過行。

Sub del_D_greater_than_E() 
    Dim rw As Long 

    With Worksheets("Sheet5") '<~~ set this properly! 
     For rw = .Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1 
      If .Cells(rw, "D").Value2 > .Cells(rw, "E").Value2 Then 
       .Rows(rw).EntireRow.Delete 
      End If 
     Next rw 
    End With 

End Sub 

這應該足以讓你開始。您可能需要在操作過程中關閉屏幕更新和計算。

相關問題