我有一个带有4个日期选择器控件的用户表单,第一个选择日期,另外3个选择时间。
它们都正常工作,并且在单击“提交”按钮时将正确的值传递给工作表。
但是,我还有一些代码,使用户能够在数据集中选择一行,然后单击“编辑”按钮将使用所选行中的数据加载与上面相同的用户表单。问题在于3个时间选择器。
我的“UserFormLoad”代码循环遍历用户表单上的所有控件,如果控件具有Tag,则该Tag值确定所选行的列索引,该列具有所需的控件值。
For Each ctl In .Controls
If ctl.Tag <> "" Then
Select Case ctl.Tag
Case "9", "10", "11"
dt = TimeSerial(Hour(CDate(RawData.ListObjects(1).ListRows(i).Range.Columns(CInt(ctl.Tag)))), _
Minute(CDate(RawData.ListObjects(1).ListRows(i).Range.Columns(CInt(ctl.Tag)))), 0)
Debug.Print dt
ctl = dt
Case Else
ctl = RawData.ListObjects(1).ListRows(i).Range.Columns(CInt(ctl.Tag))
End Select
End If
Next
每个时间选择器的默认值是“3/2/2017 6:00:00 AM”
我已尝试将DateSerial添加到Dt变量,但是当代码尝试设置dpChkIn控件的值时,该sill会导致严重错误(对于其他2个控件也是如此)。只有一个关键消息框没有错误消息,并且代码退出。
非常感谢任何帮助。