如何在VBA中找到日期之间的差异

Ank*_*Ank 9 excel vba datediff date excel-vba

我试图找出系统日期和工作表中存储的日期之间的差异.如果它们之间的差异> 30天,则结果为true,否则结果为false

Dim result as boolean
Dim sDate as string
sDate = Date
if Worksheets("dates").Cells(1,1) - sDate > 30 then 'how do I do this?
     result = true
else
     result = false
end if
Run Code Online (Sandbox Code Playgroud)

如何找出系统日期与工作表中存储的日期之间的天数差异?工作表中的日期也可以是过去的日期.

Jus*_*elf 28

我想知道为什么我很少看到人们使用日期函数.

你也可以用这个:

if DateDiff("d", date1, date2) > 30 then
Run Code Online (Sandbox Code Playgroud)

在这种情况下,date1将是CDate(工作表("日期").单元格(1,1))和date2将是sdate(使用CDate进行投射或者像Jeff所说的那样将日期变暗.

"d"表示我们在天数上有所不同.以下是VBA中年,月等的间隔:

yyyy - Year
q - Quarter
m - Month
y - Day of year
d - Day
w - Weekday
ww - Week
h - Hour
n - Minute
s - Second
Run Code Online (Sandbox Code Playgroud)