public static bool IsDateTime(string StrSource)
{
return Regex.IsMatch(StrSource, @"^(((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d)$ ")
}
这个要用VBA,右击工作表标签(如sheet1),选“查看代码”在打开的代码窗口中粘贴下列代码:
Private Sub Worksheet_Change(ByVal Target As Range)If Target.Value <> "" Then
If Target.Value < 9 Or Target.Value > 12 Then
Target.Value = ""
MsgBox "数据错误请确认数据有效性", vbOKOnly
End If
End If
End Sub
注:此程序只对该工作表(不会让所有的表都如此吧),同时对所有的单元格。
如果只是针对特定的区域,要作必要的修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)