比较在Excel VBA中使用日期和时间选择器选择的日期时间

时间:2016-05-05 19:58:13

标签: excel-vba vba excel

所以我有一个多页表单,使用两个"日期和时间选择器"控件名为StartDate和EndDate。我想确保用户不会在EndDate之后输入StartDate。我有以下问题。最初是StartDate.value""还是空的? StartDate返回的字符串或日期是什么?这是我到目前为止所拥有的。

作为旁注,即使阅读完文档,我也对这行代码感到困惑。

emptyRow = Application.WorksheetFunction.CountA(范围(" A:A"))+ 1

Private Sub StartDate_Change()
Dim emptyRow As Long
'Submits the date in the first empty row immediately since the form does not retain datepicker data after the page changes.
If (EndDate.Value) <> "" And CDate(StartDate.Value) >= CDate(EndDate.Value) Then
MsgBox ("Please enter a valid date")
MultiPage1.Value = 4


Else
Sheet1.Activate
emptyRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Cells(emptyRow, 18).Value = StartDate.Value

End If
End Sub

1 个答案:

答案 0 :(得分:2)

DateTimePickers返回Dates

如果要测试EndDate是否大于StartDate,那么以下代码应该可以解决问题:

(StartDate.Value < EndDate.Value)