首页 > 解决方案 > 带有日期函数的 for/if 循环问题

问题描述

我试图让“是”这个词记录在日期在今天 30 天内的单元格旁边,但是我遇到了这个 for / if 语句的问题。我似乎无法使用代码得到正确答案。

Private Sub Email_Request_Bttn_Click()

Manager_Email_Month = ThisWorkbook.Sheets("Email").Range("B37").Value
Another_Employee_Email_Month = ThisWorkbook.Sheets("Email").Range("B33").Value

LastRow_Month = Application.WorksheetFunction.CountIf(Range("D7:D1001"), "*")

    For Email_Month_Row = 7 To (LastRow_Month + 6)

        If Sheets("sheet1").Cells(Email_Month_Row, 14).Value <= (Date + 30) Then

        ThisWorkbook.Sheets("Email").Cells((Email_Month_Row - 1), 17).Value = "Yes"

        End If

    Next Email_Month_Row

        MsgBox ("done")

End Sub

代码运行的日期是:

在此处输入图像描述

但是,“是”只记录在前2行旁边,这显然是不正确的。

关于此代码有什么问题的任何想法?可能与日期的格式有关?

标签: vba

解决方案


推荐阅读