Excel VSTO中格式为00:00:00的时间数据验证?

时间:2014-05-23 12:35:24

标签: excel vsto validation

Excel VSTO格式00:00:00的时间数据验证?

我可以在Excel单元格中对时间进行数据验证, 但奇怪的是它还允许你输入整数和双精度 在牢房里。相反,我想允许格式为00:00:00的ONLY值。 我看到你可以在excel中为数据验证制作一个自定义公式,但是 有没有一个公式可以检查这个?

1 个答案:

答案 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