2016-11-22 45 views
0

在VBA编程中,我是初学者。使用活动单元格查找范围名称

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

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

提前致谢!

+5

单个单元格可以是几个范围的一部分,你想要列出所有这些? –

回答

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 
+1

或者,您可以使用:MyFunc = Named_Range.Cells.Count> 2 – 2016-11-22 16:47:44

+0

不应该检查单个单元格命名的范围吗?并忽略'Print_Area'和'_FilterDatabase'范围?我只会闭嘴 - 你确实说了简单的example_,因此显示了所需的过程。 :) –

相关问题