使用活动单元查找范围名称

时间:2016-11-22 15:47:24

标签: excel vba excel-vba range

在VBA编程方面,我是初学者。

我有一个单元格是命名范围的一部分。使用该活动单元格,我希望能够找到该单元格所属的范围,并将其作为Range对象传递给VBA函数或子例程。

任何人都可以向我提供有关如何进行的指导,或者这是不可能的?

提前致谢!

1 个答案:

答案 0 :(得分:2)

这是一个简单的例子。

代码检查所选单元格是否是命名范围的一部分。如果是,则将命名范围传递给函数:

Sub Main()
    Dim nm As Integer

    For nm = 1 To ActiveWorkbook.Names.Count
       If Not Intersect(Selection, Range(ActiveWorkbook.Names(nm).Name)) Is Nothing Then
            Debug.Print MyFunc(Range(ActiveWorkbook.Names(nm).Name)) // Prints TRUE or FALSE
       End If
    Next nm
End Sub

Function MyFunc(Named_Range As Range) As Boolean
    MyFunc = Named_Range.Cells.Count > 2  ~~>Courtesy of `Thomas Inzina`
End Function