根据startDate和endDate检查日期

时间:2015-06-10 08:26:18

标签: excel vba excel-vba date

我正在尝试设置一个函数,该函数可以检查从一个工作表(sheet1)到2列的日期:Sheet2中的startDate和endDate。如果存在匹配,那么我想将位于sheet2上的一个单元格中的值复制到sheet1中的特定单元格(同一行中作为cheking日期)。  我写了一些代码,但后来我意识到我的逻辑不好。 我还找到了this link on stackoverflow website ...

my xls file - function is in the module 3 "checkDate"

这里是代码..我需要以某种方式查找函数..可能我需要插入两个迭代器(2个用于循环?)

Sub CheckDate()

Dim d1 As Date
Dim d2 As Date
Dim datumPok As Date
Dim s As String
Dim i As Long

Dim LR As Long

LR = Range("K" & Rows.Count).End(xlUp).Row

For i = 2 To LR

    d1 = ActiveWorkbook.Worksheets("Glasnik").Cells(i, 2).Value

    d2 = ActiveWorkbook.Worksheets("Glasnik").Cells(i, 3).Value

    With .Range("K" & i)

        datumPok = ActiveWorkbook.Worksheets("Spisak").Cells(i, 11)

        If d1 < datumPok < d2 Then
            MsgBox "opaaa"

            s = ActiveWorkbook.Worksheets("Glasnik").Cells(i, 4).Value

            ActiveWorkbook.Worksheets("Spisak").Cells(i, 6).Value = s

        Else
            MsgBox "test"

        End If
     End With
Next i
End Sub

我真的很喜欢这个......谢谢你!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!

用一些数学公式进行普通查询就足够了。

=LOOKUP(2,1/((G1>=$A$1:$A$24)*(G1<=$B$1:$B$24)),$C$1:$C$24)

假设日期在列G1 ..

感谢大家! :)