我搜索一个好方法来检查一个数组中是否存在一个日期。 如果一个字符串在一个数组中,我就可以知道但我无法修改cose以便将它与日期一起使用。
Dim datatest as date
Dim arfest As Variant
UR = Sheets("Fest").Cells(Rows.Count, 1).End(xlUp).Row
arfest = Sheets("Fest").Range("A2:A" & UR) 'A2=1/1/2015,A3=5/2/2015,A4=8/5/2015,.....
datatest= 5/2/2015
if instr(1, datatest, arfest,1) then ..
结果:错误运行时'13',类型不对应 怎么了?!?!
答案 0 :(得分:1)
这里有3点:
Text
,Value
或Value2
),则默认为{{1} }。由于您无法确定日期格式,因此日期总是有点风险。我发现使用Excel的日期值(.Value
更容易,因此不容易出现格式问题)。因此,最好指定Long
。.Value2
功能无法正常工作,因为这会检查Instr
。String
将日期转换为Excel值,并使用DateValue()
将值转换为日期。您可以考虑按如下方式重写代码:
CDate
答案 1 :(得分:0)
我用循环改变了方法,如果我在数组中找到日期,我会添加一天......
For Each i In arfest
If datatest = i Then datatest= DateAdd("d", 1, datatest)
Next i
原谅草率的问题