2016-05-05 28 views
0

したがって、StartDateとEndDateという名前の2つの「日付と時刻選択」コントロールを使用する複数ページのフォームがあります。私はユーザーがEndDateより遅くStartDateを入力しないようにしたい。私は以下の質問があります。 StartDate.valueは最初は ""ですか、それともnullですか? StartDateによって返されるものは文字列か日付かですか?ここまで私がこれまで持っていたことがあります。Excelで日付と時刻のピッカーで選択した日付時刻を比較します。VBA

私はまた、このコード行をドキュメントを読んだ後でもやや混乱しています。

emptyRow = Application.WorksheetFunction.CountA(レンジ( "A:A"))+ 1つの

Private Sub StartDate_Change() 
Dim emptyRow As Long 
'Submits the date in the first empty row immediately since the form does not retain datepicker data after the page changes. 
If (EndDate.Value) <> "" And CDate(StartDate.Value) >= CDate(EndDate.Value) Then 
MsgBox ("Please enter a valid date") 
MultiPage1.Value = 4 


Else 
Sheet1.Activate 
emptyRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1 
Cells(emptyRow, 18).Value = StartDate.Value 

End If 
End Sub 
+0

'CountA'が非空白のセルをカウントします。その行は、列Aの空白以外のすべてを検索し、最後に空の行を取得するために1を追加します。これは、列にギャップがない場合にのみ機能します。 – findwindow

答えて

1

DateTimePickersリターンDates

あなたは終了日が開始日よりも大きいことをテストしたい場合は、次のようなコードは、トリックを行う必要があります。

(StartDate.Value < EndDate.Value)