我尝试将电子表格中的时间信息检索到用户表单,但我遇到了06:00:00显示为00:25:00的问题。电子表格用于公司Flexi时间的时间计算,我们尝试使用用户表单来简化和限制用户界面。它也会在12:00:00到00:05:00之间变化。有没有办法让它显示正确的时间?
这是我们目前用于显示信息的代码。
Private Sub TimeCheck_Change()
If Left(TimeCheck.Text, 1) = "-" Then
TimeCheck.ForeColor = RGB(255, 0, 0)
End If
TimeCheck.Text = Format(TimeCheck.Text, "hh:Nn;(hh:Nn)")
End Sub
这会将文本框绑定到工作表:
Private Sub cmdsearch_Click()
row_number = 0
Do
DoEvents
row_number = row_number + 1
Status = Sheets("Flex Total").Range("A" & row_number)
If Status = EmployeeCheck.Text Then
TimeowedCheck.Value = Sheets("Flex Total").Range("B" & row_number)
timetakenCheck.Value = Sheets("Flex Total").Range("C" & row_number)
TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number)
End If
Loop Until Status = ""
End Sub
答案 0 :(得分:0)
在您的代码中,此行指定电子表格中的值:
TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number)
相当于:
TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number).Value
单元格是Range
对象,其默认属性是.Value
。除非您指定其他属性,否则将返回此属性。在您的情况下,值为0.25,更改NumberFormat
属性将无济于事。
相反,请尝试:
TimeCheck.Value = Sheets("Flex Total").Range("D" & row_number).Text
这将使用单元格的.Text
属性而不是.Value
,而.Text
属性会受到您所做的NumberFormat
更改的影响,因此我认为应该解决它。