将date范围与数组值进行比较

我试图创build一个函数来连接一个单元格的范围,如果他们各自的date是更大或等于(> =)到存储在工作表单元格中的特定date。

在下面的代码中, DatesRange_V是一个包含date列表的数组,而ThisDate是包含date的A1。 我希望通过ConcatRange_V循环,并在date大于ThisDay时将它们与分隔符连接起来。

 Function ConcatRangeIf() As String Dim ConcatRange As Range Dim DatesRange As Range Set ConcatRange = Range("RP_Names") 'A list of names to concat Set DatesRange = Range("RP_Dates") 'A list of dates Dim Result As String Dim Seperator As String Dim FirstCell As Boolean Dim ConcatRange_V() As Variant Dim DatesRange_V() As Variant Dim ThisDate As Variant FirstCell = True Seperator = ", " ConcatRange_V = ConcatRange.Value DatesRange_V = DatesRange.Value ThisDate = Range("a1").Value ' A date on the current sheet Dim i As Integer For i = 1 To UBound(ConcatRange_V) If ConcatRange_V(i, 1) <> "" And DatesRange_V(i, 0) >= ThisDate Then If FirstCell Then Result = ConcatRange_V(i, 1) Else Result = Result & Seperator & ConcatRange_V(i, 1) End If End If FirstCell = False Next ConcatRangeIf = Result End Function 

似乎有一个问题,因为我放置的单元=ConcatRangeif()正在返回#VALUE!

如果这是你的代码的副本,那么行:

 ConcatRange_V = ConcatR.Value 

ConcatR指向一个没有被赋值的variables。 它应该是:

 ConcatRange_V = ConcatRange.Value