【发布时间】:2017-07-04 05:32:19
【问题描述】:
A 列是开始日期
B 列是 EndDate
当我运行宏时,它会返回我所有日期的答案 1,因为我将 1 添加到我的 DateDiff,那么 DateDiff 必须为 0。
我的DateDiff 有什么问题?
Sub CalculateDays()
Dim LastRow As Long
Dim StartDate As Date
Dim EndDate As Date
Dim Days As Single
With Worksheets("Sheet1")
'Determine last Row in Column A
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
'Calculate Difference between Start Date And End Date in Days
For i = 2 To LastRow
StartDate = .Cells(i, 1)
EndDate = .Cells(i, 2)
Days = DateDiff("d", StartDate, EndDate)
.Cells(i, 3) = Days + 1
Days = 0
Next i
End With
End Sub
样本数据:
Start Date | End Date
=========================
13-Feb-17 | 28-Feb-17
14-Feb-17 | 28-Feb-17
02-Mar-17 | 04-Mar-17
13-Feb-17 | 15-Feb-17
13-Feb-17 | 13-Feb-17
15-Jan-17 | 15-Feb-17
01-Feb-17 | 12-Feb-17
【问题讨论】:
-
你能发布一些你正在使用的开始和结束日期吗?有代表性的样本将有助于确定您的问题。
-
开始日期 |结束日期 | 17 年 2 月 13 日 | 17 年 2 月 28 日 | 17 年 2 月 14 日 | 2017 年 2 月 28 日| 2017 年 3 月 2 日 | 2017 年 3 月 4 日| 17 年 2 月 13 日 | 2017 年 2 月 15 日| 13-Feb-17 13-Feb-17 15-Jan-17 15-Feb-17 01-Feb-17 12-Feb-17
-
它们所在的单元格是什么格式的?
-
为什么甚至需要一个函数/过程?
-
你为什么有
Dim Days As Single?