Datetime 检查vba excel 2010 64位中的特定日期格式

Datetime 检查vba excel 2010 64位中的特定日期格式,datetime,excel,vba,Datetime,Excel,Vba,我正在对用户输入日期值的单元格进行一些验证。我期望的正确格式是“m/d/yyyy”,因此我需要一种方法来检查用户是否以该格式输入日期 我怎样才能做到这一点 以下是我所做的一些验证: Dim StartDate As String Dim EndDate As String With Sheet1 StartDate = WorksheetFunction.Trim(.Range("F2").Value) EndDate = WorksheetFunction.Trim(.Ra

我正在对用户输入日期值的单元格进行一些验证。我期望的正确格式是“m/d/yyyy”,因此我需要一种方法来检查用户是否以该格式输入日期

我怎样才能做到这一点

以下是我所做的一些验证:

Dim StartDate As String
 Dim EndDate As String
 With Sheet1
    StartDate = WorksheetFunction.Trim(.Range("F2").Value)
    EndDate = WorksheetFunction.Trim(.Range("F3").Value)
 End With

 'Dates validations

 If StartDate = "" Or EndDate = "" Then
    MsgBox ("Dates can't be empty")
    Exit Sub
 End If

 If Not IsDate(StartDate) Or Not IsDate(EndDate) Then
    MsgBox ("Please check dates format")
    Exit Sub
 End If

 If CDate(StartDate) > CDate(EndDate) Then
    MsgBox ("Start Date can't be greater than End Date")
    Exit Sub
 End If

Siddharth Rout的解决方案:


希望这有帮助

为什么不使用Excel的内置数据验证?这样,您就不必编写任何代码;)用户将无法键入除日期以外的任何内容。希望这有帮助吗。如果你还需要帮助,请告诉我?我感谢你的帮助Siddharth,但是通过做一些测试,我已经找到了如何做到这一点,就像你说的,使用数据验证,我不知道,所以,再次感谢!给我一个答案,这样我就可以给你荣誉:)很高兴能帮上忙;)不需要;)如果您找到了自己的解决方案,那么您应该将其作为答案发布,然后单击勾号将其标记为解决方案。这将确保其他开发人员知道您的问题已经解决,并且可能有助于其他人搜索类似的问题。