excel vba中如何将日期转换为数字进行计算?

如图所示,我想分别计算第三列和第一列(看是否大于-1)、第三列和第二列的差值(看是否大于等于0),如果是在excel表格里这三列都是日期格式,两列相减可以直接得出数字,可... 如图所示,我想分别计算第三列和第一列(看是否大于-1)、第三列和第二列的差值(看是否大于等于0),
如果是在excel表格里这三列都是日期格式,两列相减可以直接得出数字,可是在VBA里直接减的话老是提示“数据类型不匹配”,公式如下:
If Cells(j, 11) > Cells(i, 4) - 1 And Cells(j, 11) - Cells(i, 5) >= 0 Then ……

另外还尝试了CDbl,range().value2,都不行,还是提示类型不对,急啊。。求高手~~!
公式对应的是一个很复杂的表还套用了循环,简化的话就是要算这三列日期,只要能解决数据类型不匹配的问题就可以啦~~
展开
 我来答
复仇之牙
推荐于2016-01-09 · TA获得超过2250个赞
知道大有可为答主
回答量:1663
采纳率:78%
帮助的人:1545万
展开全部

用datevalue试试

附件里有示例

Sub ff()

Dim a, b, c

For i = 1 To 2

a = Cells(i, 1)
b = Cells(i, 2)
c = Cells(i, 3)

If DateValue(c) - DateValue(a) > -1 And DateValue(c) - DateValue(b) >= 0 Then
Cells(i, 4) = "Y"
End If

Next i

End Sub


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式