【VBA】日付を比較する方法(文字列の日付を比較)

今回は日付の比較をする方法を紹介します。
日付型の比較は値と同じように比較演算子(<,>,=)を使えばOKです。
しかし、VBAを作っていると日付型ではなく文字列の日付を比較したいケースが出てくるかもしれません。
今回はそうしたケースを想定して文字列の日付を比較する方法を紹介します。
日付を比較する方法 (文字列の日付を比較)
Sub DateCompare()
    '''文字列の日付を比較する
    
    Dim str1 As String, str2 As String
    str1 = "2023/3/23"
    str2 = "2023/9/23"
    
    ''文字列型を日付型へ変換
    Dim dt1 As Date, dt2 As Date
    dt1 = CDate(str1)
    dt2 = CDate(str2)
    
    ''日付を比較
    If dt1 < dt2 Then
        Debug.Print str1 & "よりも" & str2 & "の方が未来" '2023/3/23よりも2023/9/23の方が未来
    End If
End Sub文字列の日付を比較したい場合、文字列型を日付型へ変換する必要があります。
    ''文字列型を日付型へ変換
    Dim dt1 As Date, dt2 As Date
    dt1 = CDate(str1)
    dt2 = CDate(str2)このようにCDate関数を使って、文字列型⇒日付型へ変換します。
あとは簡単でdt1 < dt2のように比較演算子で比較するだけです。
CDate関数についてはこちらの記事をご覧ください。
 から
から
 https://yaromai.jp/vba-cdate/
 https://yaromai.jp/vba-cdate/