Vba で日付を比較する方法 (例付き)
VBA で次の基本構文を使用して、2 つの日付を比較できます。
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
この特定の例では、範囲A2:A5とB2:B5の対応するセルの日付を比較し、範囲C2:C5の日付比較の結果を返します。
注: CDate関数は、指定されたセルの値を日付に変換します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA での日付の比較
Excel に日付を含む次の 2 つの列があるとします。
一致する各行の日付を比較し、日付の比較結果を列 C に表示するとします。
これを行うには、次のマクロを作成できます。
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
日付比較の結果が列 C に表示されます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。