使用Excel VBA中的日期和时间选择器比较选择的日期时间
所以我有一个多页表单,它使用两个名为StartDate和EndDate的“日期和时间选择器”控件。我希望确保用户输入的开始日期不会晚于结束日期。我有以下问题。StartDate.value最初是“”还是null?StartDate返回的是字符串还是日期?这是我到目前为止所拥有的 顺便说一句,即使在阅读了文档之后,我也对这行代码感到有些困惑 emptyRow=Application.WorksheetFunction.CountA(范围(“A:A”))+1使用Excel VBA中的日期和时间选择器比较选择的日期时间,excel,vba,Excel,Vba,所以我有一个多页表单,它使用两个名为StartDate和EndDate的“日期和时间选择器”控件。我希望确保用户输入的开始日期不会晚于结束日期。我有以下问题。StartDate.value最初是“”还是null?StartDate返回的是字符串还是日期?这是我到目前为止所拥有的 顺便说一句,即使在阅读了文档之后,我也对这行代码感到有些困惑 emptyRow=Application.WorksheetFunction.CountA(范围(“A:A”))+1 Private Sub-StartDat
Private Sub-StartDate_Change()
暗空如长
'立即提交第一个空行中的日期,因为表单在页面更改后不保留datepicker数据。
如果(EndDate.Value)“”和CDate(StartDate.Value)>=CDate(EndDate.Value),则
MsgBox(“请输入有效日期”)
MultiPage1.Value=4
其他的
表1.激活
emptyRow=Application.WorksheetFunction.CountA(范围(“A:A”))+1
单元格(emptyRow,18)。值=起始日期。值
如果结束
端接头
日期时间选择器
返回日期
如果要测试EndDate是否大于StartDate,则应使用如下代码:
(StartDate.Value
日期时间选择器
返回日期
如果要测试EndDate是否大于StartDate,则应使用如下代码:
(StartDate.Value
CountA
对非空白单元格进行计数。因此,该行在列A中查找所有非空格,并添加1以获得最后一个空行。这仅在列中没有空格时有效。CountA
统计非空白单元格。因此,该行在列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