■日付の比較は一旦「yyyy/MM/dd」形式にした上で、Cdate関数で日付型に変換してから比較する
Sub test() Dim ws As Worksheet Dim strDatePrevYYYY_M_1 As String '前月1日文字型 Dim strDateNextYYYY_M_1 As String '翌月1日文字型 Dim strTargetDate As String '比較対象日付文字型 Dim dateTargetDate As Date '比較対象日付日付型 Dim blDateRange As Boolean '比較結果 Set ws = ThisWorkbook.Sheets("Sheet1") '前月1日を取得 strDatePrevYYYY_M_1 = ws.Range("D2") '翌月1日を取得 strDateNextYYYY_M_1 = ws.Range("D3") '比較対象日付を取得 strTargetDate = ws.Range("D4") '比較対象日付に"01"を加えてYYYYMM形式→YYYYMMDD形式に変換 strTargetDate = strTargetDate & "01" dateTargetDate = CDate(Format(strTargetDate, "####/##/##")) '前月1日以降かつ翌月1日より前か? blDateRange = (CDate(strDatePrevYYYY_M_1) <= dateTargetDate) And (CDate(strDateNextYYYY_M_1) > dateTargetDate) MsgBox strDatePrevYYYY_M_1 & " <= " & dateTargetDate & " < " & strDateNextYYYY_M_1 & vbCrLf & _ vbCrLf & "比較結果:" & blDateRange End Sub