If this is too slow, it can be made faster. I kept the logic simple.Sub SamT_SeleteColumns_byValue() Dim DelValues As Variant Dim Del As Boolean Dim LastRow As Long Dim Rw As Long Dim i As Long DelValues = Array("France", "Italy", "USA", "Etc., etc., etc.") LastRow = Cells(Rows.Count, "A").End(xlUp).Row 'Delete From bottom up For Rw = LastRow To 1 Step -1 For i = LBound(DelValues) To UBound(DelValues) 'Select one of below to use 'For exact match If Cells(Rw, "A").Value = DelValues(i) Then Del = True 'For close match If InStr(Cells(Rw, "A"), DelValues(i)) > 0 Then Del = True Next i If Del Then Rows(Rw).Delete Del = False Next Rw 'Delete from Right to Left Columns(N2).Delete Columns(N1).Delete End Sub