Excel 在从单元格调用的函数中使用时,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

我正在尝试编写一个VBA函数,以便从单元格中调用。在这个函数中,我需要使用CurrentRegion属性,但它返回了一个意外的结果

职能:

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

看起来很好。

有什么解决办法吗?