Algo parecido com isso, que testa se há uma intersecção válida na faixa usada da planilha de interesse com o nome do intervalo
Ressalva: Isso supõe que a sua área usada cobre seus nomes de alcance em potencial. O que eu acho que é uma suposição segura
Além disso, você não acha que pode trabalhar com ActiveSheet.Names
da maneira como tentou.
Private Sub Something()
Dim nmRng As Name
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Sheets(1).UsedRange
On Error Resume Next
For Each nmRng In ActiveWorkbook.Names
Set rng2 = Nothing
Set rng2 = Intersect(rng1, Range(nmRng))
If Not rng2 Is Nothing Then Debug.Print nmRng & " " & nmRng.RefersTo.Address
Next
On Error GoTo 0
End Sub