Excel 在从单元格调用的函数中使用时,CurrentRegion的结果不正确
我正在尝试编写一个VBA函数,以便从单元格中调用。在这个函数中,我需要使用CurrentRegion属性,但它返回了一个意外的结果 职能:Excel 在从单元格调用的函数中使用时,CurrentRegion的结果不正确,excel,excel-formula,vba,Excel,Excel Formula,Vba,我正在尝试编写一个VBA函数,以便从单元格中调用。在这个函数中,我需要使用CurrentRegion属性,但它返回了一个意外的结果 职能: Function GetVarRange() As String Dim rngRangeToLeft As Range, wks As Worksheet Set wks = Application.Caller.Worksheet Set rngRangeToLeft = wks.Range("A1").CurrentRegio
Function GetVarRange() As String
Dim rngRangeToLeft As Range, wks As Worksheet
Set wks = Application.Caller.Worksheet
Set rngRangeToLeft = wks.Range("A1").CurrentRegion
GetVarRange = rngRangeToLeft.Address
End Function
我在牢房里得到的结果是$A$1
A1中有值,在其周围,CurrentRegion实际上是A1:AD618,这是我在代码编辑器中访问属性(不在此函数中)以及在选择A1时按ctrl+A时得到的结果
有人有什么想法吗?当前区域在从工作表单元格调用的UDF()中无法正常工作。我还发现了FindNext和特殊单元格的问题。 从潜艇上调用,这是一个不同的故事:
Function GetVarRange(rng) As String
Dim rngRangeToLeft As Range, wks As Worksheet
Set rngRangeToLeft = rng.CurrentRegion
GetVarRange = rngRangeToLeft.Address
End Function
Sub MAIN()
MsgBox GetVarRange(Range("A1"))
End Sub
看起来很好。有什么解决办法吗?