Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim deleteRows()
- Dim lastRow As Long
- 'get the last row
- lastRow = Sheet1.Range("H1").End(xlDown).Row
- 'iterate from the last row to the first row
- Dim i As Long
- For i = lastRow To 1 Step -1
- 'test this row we are on for your first condition
- If (Sheet1.Range("H" & i).Value = "Stock" Or Sheet1.Range("H" & i).Value = "Custom") _
- And Sheet1.Range("G" & i).Value > Now() + 3 Then
- Sheet1.Rows(i).Delete
- 'test for second condition
- ElseIf Sheet1.Range("H" & i).Value <> "STOCK" And Sheet1.Range("H" & i).Value <> "FABRIC" _
- And Sheet1.Range("G" & i).Value > Now() + 20 Then
- Sheet1.Rows(i).Delete
- End If
- 'on to the next row up
- Next i
- End Sub
- Option Explicit
- Sub DeleteMe()
- Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
- Dim i As Long, DeleteMe As Range
- For i = 2 To ws.Range("A" & ws.Rows.Count).End(xlUp).Row
- If ws.Range("H" & i) = "Stock" Or ws.Range("H" & i) = "custom" And ws.Range("G" & i) > Now() + 3 Then
- If DeleteMe Is Nothing Then
- Set DeleteMe = ws.Range("H" & i)
- Else
- Set DeleteMe = Union(DeleteMe, ws.Range("H" & i))
- End If
- ElseIf ws.Range("H" & i) <> "Stock" And ws.Range("H" & i) <> "Fabric" & ws.Range("G" & i) < Now() + 14 Then
- If DeleteMe Is Nothing Then
- Set DeleteMe = ws.Range("H" & i)
- Else
- Set DeleteMe = Union(DeleteMe, ws.Range("H" & i))
- End If
- End If
- Next i
- If Not DeleteMe Is Nothing Then DeleteMe.EntireRow.Delete
- End Sub
Add Comment
Please, Sign In to add comment