2012-01-27 31 views
1

私はVB.NETからセル(範囲)をExcelに適用するために日付検証を適用しています。VB.NetからExcelセルに日付検証を適用する

Private Sub DateValidExcelRule(ByVal worksheet As SpreadsheetGear.IWorksheet, ByVal DateRange As String) 

    Dim dt As Date = CDate("1/1/1900") 
    worksheet.Range(DateRange).Validation.Delete() 
    worksheet.Range(DateRange).Validation.Add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Greater, dt, Nothing) 
    worksheet.Range(DateRange).NumberFormat = "mm/dd/yyyy" 
    worksheet.Range(DateRange).Validation.IgnoreBlank = True 
    worksheet.Range(DateRange).Validation.InputTitle = "Excel Validation" 
    worksheet.Range(DateRange).Validation.ErrorTitle = "Error in Date" 
    worksheet.Range(DateRange).Validation.InputMessage = "Note: only date values here" 
    worksheet.Range(DateRange).Validation.ErrorMessage = "Enter valid Date" 
    worksheet.Range(DateRange).Validation.ShowInputMessage = True 
    worksheet.Range(DateRange).Validation.ShowError = True 

End Sub 

問題:

Iは整数7777 4桁の数字を入力すると、正しくメッセージEnter Valid Dateを示す検証され、私は5桁77777を入力すると、それは値を受け入れ、12/10/2112値に変換し、表示されませんエラーメッセージ。

ここでは、セルの値を任意の日付形式mm/dd/yyyyに検証したいと思っています。

私に教えてください、私は正しい方法で行っていますか?

答えて

1

Excelは日付をシリアル日付(1900年1月1日以降の日数)として保存します。したがって、77777日を使用してその日付に追加すると、有効な日付が取得されます。 12/10/2112

入力をExcelでその特定の形式にする方法を正確に達成する方法や方法がわかりません。 (日付コントロールを使用しないで)しかし、それが少なくとも理由です。

ここには、Excelで日付/時刻に便利なリンクがいくつかあります。

http://www.cpearson.com/excel/datetime.htm

http://dmcritchie.mvps.org/excel/datetime.htm

関連する問題