このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

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

今回は日付の比較をする方法を紹介します。

日付型の比較は値と同じように比較演算子(<,>,=)を使えばOKです。

しかし、VBAを作っていると日付型ではなく文字列の日付を比較したいケースが出てくるかもしれません。

今回はそうしたケースを想定して文字列の日付を比較する方法を紹介します。

VBAが難しいと感じたら
ココナラにて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関数についてはこちらの記事をご覧ください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/12/02 20:25:22時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい