在VBA编程方面,我是初学者。
我有一个单元格是命名范围的一部分。使用该活动单元格,我希望能够找到该单元格所属的范围,并将其作为Range对象传递给VBA函数或子例程。
任何人都可以向我提供有关如何进行的指导,或者这是不可能的?
提前致谢!
答案 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