gpt4 book ai didi

vba - Excel VBA : Optimal use of DateValue in VBA (or other method to compare dates)

转载 作者:行者123 更新时间:2023-12-04 21:53:22 24 4
gpt4 key购买 nike

我在 Access 中编写了一个 VBA 宏,它基于几个不同的文件创建了一个新的 excel 文件。我无法更改源文件格式化数据的方式,我想编写一个简单的 IF 语句(如果日期 X 已超过日期 Y,则删除整行)。问题是日期的格式不同。我能够做到的方式是创建一个新列:

=IF(DATEVALUE(A2)>DATEVALUE(H2),TRUE,FALSE)

然后从那里开始,最后删除该列。但这感觉不对,我相信有更好的解决方案。我一直在尝试做类似的事情
 If ifDelete = vbYes And .Cells(Lrow, 19).Value Like "*timing*" And DateValue(.Cells(Lrow, 1).Value) > DateValue(.Cells(Lrow, 8).Value) Then
.Cells(Lrow, 19).EntireRow.Delete
End If

但这显然行不通。我还尝试在运行该 IF 语句之前对日期列进行格式化,但仍然没有运气。如果有帮助,日期格式为 MM/DD/YYYY 和 M/D/YYYY。出于某种原因,在第二个或两个字段上使用 .NumberFormat = "MM/DD/YYYY"也不起作用。

亲切的问候,
希顿124。

最佳答案

按照 p.phidot 的建议,我将我的评论作为答案,以便其他人可以对其进行标记并因此达到。

所以,答案是:

尝试使用 VBA 函数 CDate() .

干杯。

关于vba - Excel VBA : Optimal use of DateValue in VBA (or other method to compare dates),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50038100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com