aaronp,
Alright, after some trial and error, I think this is what you're looking for:
Sub DeleteData()
Dim ws As Worksheet
Dim rngCheck As Range
Dim CheckCell As Range
Dim rngDel As Range
Dim lOffset As Long
Set ws = Sheets("DC Data")
Set rngCheck = ws.Range("B5", ws.Cells(Rows.Count, "B").End(xlUp))
If rngCheck.Row < 5 Then Exit Sub 'No data
For Each CheckCell In rngCheck.Cells
If Not (Left(CheckCell.Text, 1) = "F" And Len(Mid(CheckCell.Text, 2)) = 6 And IsNumeric(Mid(CheckCell.Text, 2))) Then
If CheckCell.Text <> "Jumbo" Then
Select Case (rngDel Is Nothing)
Case True: Set rngDel = CheckCell
Case Else: Set rngDel = Union(rngDel, CheckCell)
End Select
End If
End If
Next CheckCell
If Not rngDel Is Nothing Then
rngDel.EntireRow.Delete xlShiftUp
Set rngDel = Nothing
End If
Set rngCheck = ws.Range("B5", ws.Cells(Rows.Count, "B").End(xlUp))
If rngCheck.Row < 5 Then Exit Sub 'No data
For Each CheckCell In rngCheck.Cells
If CheckCell.Text = "Jumbo" Then
lOffset = 3 - (Len(Trim(CheckCell.Offset(-1, 3).Text)) > 0)
Select Case (rngDel Is Nothing)
Case True: Set rngDel = CheckCell.Offset(, -1).Resize(, 2)
Case Else: Set rngDel = Union(rngDel, CheckCell.Offset(, -1).Resize(, 2))
End Select
Set rngDel = Union(rngDel, CheckCell.Offset(-1, lOffset).Resize(, 15 - (lOffset = 3)))
End If
Next CheckCell
If Not rngDel Is Nothing Then rngDel.Delete xlShiftUp
Set ws = Nothing
Set rngCheck = Nothing
Set CheckCell = Nothing
Set rngDel = Nothing
End Sub
Bookmarks