Sean, I'm sure there are better ways but the below UDF may help ?
Function Hdr(rngCell As Range) As Variant
Dim rngRefers As Range, nm As Name
On Error Resume Next
For Each nm In ThisWorkbook.Names
Set rngRefers = nm.RefersToRange
If Err.Number = 0 Then
If Not Intersect(Range(rngCell.Value), rngRefers) Is Nothing Then
Hdr = rngRefers.Cells(1, 6).Value
Exit Function
End If
End If
Set rngRefers = Nothing
Next nm
End Function
Above stored in Module called from cell:
=HDR(M1)
That said if you mix scope of your named ranges it's still open to error I guess... I've also assumed your named ranges commence from Column A.
EDIT: Just noted you said you can already do this in VBA so the above is moot - apologies. Time for me to power down for the day I think...
Bookmarks