范围变量使用以下代码扩展:
Option Explicit
Function ESTENDISELEZIONE(Area As Range) As Range
Set ESTENDISELEZIONE = Range(Area, Area.End(xlDown))
End Function
但它没有延伸:
Option Explicit
Function ESTENDISELEZIONE(Area As Range) As Range
Set ESTENDISELEZIONE = Range(Area, Area.CurrentRegion)
End Function
并且:
Option Explicit
Function ESTENDISELEZIONE(Area As Range) As Range
Set ESTENDISELEZIONE = Area.CurrentRegion
End Function
该程序扩展了范围!
Sub EXTENDSELECTION()
Selection.CurrentRegion.Select
End Sub
有人可以帮助我吗?
我在这个问题上添加了一个例子。
在单元格中:
=CONTA.SE(ESTENDISELEZIONE(B2);"Orange")
在公式中:
Option Explicit
Function ESTENDISELEZIONE(Area As Range) As
Range
MsgBox(Area.Address)
Set ESTENDISELEZIONE = Area.CurrentRegion
MsgBox(ESTENDISELEZIONE.Address)
End Function
答案 0 :(得分:2)
CurrentRegion
对象的Range
属性无法在 UDF 中使用。
尝试没有多大意义,因为它会导致无法解决的问题。想象一下,您在电子表格中更改了单元格C6 - 包含=CONTA.SE(ESTENDISELEZIONE(B2);"Orange")
的单元格将不会重新计算(因为它不依赖于单元格C6),这意味着您开始在工作表中获取不一致的数据。
注意:如果仅用作普通Function
,您的代码就可以正常工作。只有在用作UDF时才会出现问题。