This macros will delete all named ranges.
Sub DeleteNamedRanges()
Dim oName As Name
For Each oName In Names
oName.Delete
Next
End Sub
...
This works as claimed if the defined names are workbook-level names. On a
different tack, if some names should remain but a large batch should be deleted,
move the cell pointer to a blank range and run the menu command
Insert > Name > Paste, press the Paste List button
then delete the names from this list that should remain, select the range
containing all the remaining names that should be deleted, and run the following
macro.
Sub foo()
Dim c As Range, v As String
If Not TypeOf Selection Is Range Then Exit Sub
On Error Resume Next
For Each c In Selection
v = CStr(c.Value)
If v <> "" Then Names(v).Delete
If Err.Number <> 0 Then
Debug.Print "unable to delete name: '" & v & "' (cell " & c.Address(0, 0) & ")"
Err.Clear
End If
Next c
End Sub