查找给定单元格所属的命名范围

我正在编写一个个人macros,在状态栏上显示有关ActiveCell的重要信息,例如它所属的表或枢轴表的名称(如果有的话),它拥有的无格式值等。

现在我还想显示单元格包含的命名范围的名称。我想我可以通过ActiveWorkbook的一些名称集合进行扫描,然后用相交进行testing,但有没有更简单的方法?

最简单的方法是循环访问名称。

Function getRangeNames(Target As Range) Dim n As Name Dim s As String For Each n In ThisWorkbook.Names On Error Resume Next If Not Intersect(Target, n.RefersToRange) Is Nothing Then s = s & n.Name & ", " End If On Error GoTo 0 Next n getRangeNames = Left(s, Len(s) - 2) End Function