Excel 基于日期的条件语句

Excel 基于日期的条件语句,excel,vba,Excel,Vba,下面的vba代码需要检查B列中的日期是否在2017年4月1日至2017年4月28日之间,然后在A列中输入“2017年4月”。但是,“Formula=”行出现语法错误。你能帮忙吗 With Sheets("xxxx") With .Range("B2", .Cells(.Rows.Count, "B").End(xlUp)) .Offset(, 1).Formula = "=IF((AND(B2>=DATE(2017,4,1),B2<=DATE (2017,4,28

下面的vba代码需要检查B列中的日期是否在2017年4月1日至2017年4月28日之间,然后在A列中输入“2017年4月”。但是,“Formula=”行出现语法错误。你能帮忙吗

  With Sheets("xxxx")
 With .Range("B2", .Cells(.Rows.Count, "B").End(xlUp))
    .Offset(, 1).Formula = "=IF((AND(B2>=DATE(2017,4,1),B2<=DATE 
  (2017,4,28))),"Apr'17","")"
    .Offset(, 1).Value = .Offset(, 1).Value
 End With
 End With
带工作表(“xxxx”)
带.Range(“B2”,.Cells(.Rows.Count,“B”).End(xlUp))
.Offset(,1).Formula=“=如果((和)(B2>=日期(2017,4,1),B2请尝试此代码

With ActiveSheet
    With .Range("B2", .Cells(.Rows.Count, "B").End(xlUp)).Offset(0, 1)
        .Formula = "=IF(AND(B2>DATE(2017,3,31), B2<DATE(2017,5,1)),B2,"""")"
        .NumberFormat = "mmm yy"
    End With
End With
使用ActiveSheet的

带.Range(“B2”,.Cells(.Rows.Count,“B”).End(xlUp)).Offset(0,1)

.Formula=“=IF(AND(B2>DATE(2017,3,31)),B2您在评论中发布的更改不是@pnuts建议的更改。但是为什么不直接在VBA中进行检查呢?