我编写了一个简单的函数,它根据作为函数参数提供的两个范围返回“日期”类型的二维数组。
我的 UDF 工作正常,但是当我通过 CTRL-Shift-Enter 在 Excel 单元格中输入公式并将单元格扩展到下面的行时,始终只显示第一个数组值(第一个日期)。
我尝试通过
Worksheetfunction.Transpose(arr)
转置函数中的数组,但这确实杀死了 Excel 进程。很奇怪。
这是函数:
Public Function EVA_Deadlines(Start_Dates As Range, _
Due_Dates As Range) As Date()
Dim dates() As Date, c As New Collection, r As Range, l As Long
c.add min(Start_Dates.value)
For Each r In Due_Dates
c.add getLastDayOfMonth(r.value)
Next
With New clsCollectionHelper
Set .items = c
Set c = .removeDuplicates
End With
ReDim dates(1 To c.count, 1 To 1)
For l = 1 To c.count
dates(l, 1) = c(l)
Next
EVA_Deadlines = dates
End Function