Excel VSTO格式00:00:00的时间数据验证?
我可以在Excel单元格中对时间进行数据验证, 但奇怪的是它还允许你输入整数和双精度 在牢房里。相反,我想允许格式为00:00:00的ONLY值。 我看到你可以在excel中为数据验证制作一个自定义公式,但是 有没有一个公式可以检查这个?
答案 0 :(得分:0)
是。虽然我自己从未使用过VSTO,但您可以使用以下公式:
=IF(TIMEVALUE(TEXT(A1,"hh:mm:ss"))=A1, "Time Entry", "Not a Time Entry")
以编程方式(VBA)确实有很多方法可以实现相同的结果,这取决于您的背景。例如,您可以监听事件Worksheet_Change并在工作表模块中调用此代码:
Function IsTime(rng As Range) As Boolean
Dim sValue As String
sValue = rng.Cells(1).Text
On Error Resume Next
IsTime = IsDate(TimeValue(sValue))
On Error GoTo 0
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
If not(IsTime(Target.Value)) then
msgbox "Please enter time in '00:00:00' format!"
Target.Value = ""
End if
End Sub
来源:http://excel.tips.net/T003292_Checking_for_Time_Input.html