我想运行一个基于年份将数据从一张纸传输到另一张纸的代码(例如01/01/2018-31/1/2018)。
该工作表包含2列日期,其中start_date和end_date存储为日期,因此我执行了If语句,但它似乎无法“理解”我之前存储的日期值。
'Dates columns
Dim fechaIniTarget As Variant
Dim fechaFinTarget As Variant
'Ini = start / Fin = end
Set fechaIniTarget = Range("D2")
Set fechaFinTarget = Range("E2")
If fechaIniTarget.Value = "01/01/2018" And fechaFinTarget.Value = "31/12/2018" Then
' function
MsgBox "PROCESO COMPLETO"
End If
我尝试将日期解析为整数,但仍然无法正常工作。
答案 0 :(得分:1)
您将日期fechaIniTarget.Value
与字符串"01/01/2018"
进行比较。将真实日期与DateSerial function一起使用,以比较日期与日期。
If fechaIniTarget.Value = DateSerial(2018, 1, 1) And fechaFinTarget.Value = DateSerial(2018, 12, 31) Then
还要注意,您使用了2次fechaIniTarget
,但我想第二次应该是fechaFinTarget
。
如果不需要,也不要使用Variant
。而是在此处声明变量As Range
:
Dim fechaIniTarget As Range
Dim fechaFinTarget As Range