I'm intrigued. Can you post a sample workbook with the Named Range(s)?

It looks as though you've consulted the best ... but I'd still like to have a go

I put a formula into a cell to generate an IFERROR condition.
Formula: copy to clipboard
=IFERROR(A2/B2,"if error used here")


I then used this code to list the Named Ranges. In this instance, there was only one ... the one generated by using IFERROR. Seems like you can't delete it but you only get the one, regardless of how many times you use IFERROR.

Sub sListNamedRanges()

Dim NR As Name
For Each NR In ThisWorkbook.Names
    Debug.Print NR.Name; " "; NR.RefersTo; " "; NR.RefersToLocal; " "; NR.Visible
    NR.Visible = True
    On Error Resume Next
    NR.Delete
    If Err.Number <> 0 Then
        Debug.Print Err.Number, vbCr, Err.Description
    End If
    On Error Resume Next
Next NR

End Sub

Regards, TMS