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 LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

この特定の例では、範囲A2:A5B2: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 LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

このマクロを実行すると、次の出力が表示されます。

日付比較の結果が列 C に表示されます。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: 複数の列でシートを並べ替える方法
VBA: 範囲内の行数をカウントする方法
VBA: 列をフィルタリングする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です