我在给定的时间段内有一系列的观察结果。我想对2015年12月31日之后以及2015年1月1日至2015年12月31日之间的所有观察执行一项操作。我想我需要一个“If”函数,但我很难表达日期范围。
这是我的代码版本之一,它不起作用:
If Range("b:b") > "Date(2015,12,31)" Then
If Range("b:b") >= "Date(2015,1,1)" <= "Date(2015,12,31)" Then
无论计算机的区域设置如何,我都需要使用任何日期格式的代码。我已经尝试了很多不同的方法来正确地表达这一点,但是没有这些方法有效。
我的问题只涉及表达“如果”条件的方式。我知道如何在“然后”之后编写代码。
任何帮助解决我的问题的尝试都将受到高度赞赏。
答案 0 :(得分:0)
即使使用不同的日期本地化,这也应该有效:
Sub test()
Dim ws As Worksheet
Set ws = Worksheets(1)
With ws
For Each c In .Range(.Cells(1, 2), .Cells(10, 2))
If IsDate(c) And c > DateValue(#12/31/2015#) Then
If c >= DateValue(#1/1/2015#) And c <= (#12/31/2015#) Then
MsgBox "hi"
End If
End If
Next
End With
End Sub
但是请注意,你的条件没有多大意义。您首先要查看2015年12月31日之后的日期,然后查看2015年12月31日之前或之后的日期。