エクセルマクロで、期限切れの日付をチェックするVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
期限切れの日付に色付け
以下のExcelVBAを実行すると、期限が切れている日付をチェックして背景色を塗りつぶします。
Sub 期限切れを確認する()
Dim LastRow As Long
Dim TargetDay As Long
Dim i As Long
'最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'日付を取得
TargetDay = Range("D2")
'2行目~最終行までループ
For i = 2 To LastRow
'B列が期限を過ぎていたら、背景色に色付け
If Cells(i, 2) < TargetDay Then
Cells(i, 2).Interior.Color = 65535
End If
Next i
End Sub
マクロ実行後
[セルD2] をもとに、期限を過ぎた日付に着色します。

期限切れの日付をメッセージボックスで警告
以下のExcelVBAを実行すると、指定日を過ぎた日付がある場合メッセージボックスで警告します。
Sub 期限切れを確認する()
Dim LastRow As Long
Dim TargetDay As Long
Dim Warning As String
Dim i As Long
'最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'日付を取得
TargetDay = Range("D2")
'2行目~最終行までループ
For i = 2 To LastRow
'指定の期限が切れている場合、変数にデータを格納
If Cells(i, 2) < TargetDay Then
Warning = Warning _
& "・" & Cells(i, 1) & ":" & Cells(i, 2) & vbCrLf
End If
Next i
If Warning = "" Then
MsgBox "期限切れはありません。"
Else
MsgBox "【期限が切れています】" & vbCrLf & Warning
End If
End Sub
マクロ実行後
[セルD2] をもとに、期限を過ぎた日付がある場合、
メッセージボックスに該当データを表示します。

この記事がお役に立ちますと幸いです。
・【エクセルマクロ】日付処理を自動化する使用例まとめ

【エクセルマクロ】日付処理を自動化する:使用例17選
エクセルマクロで、日付処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!
[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう
ChatGPTと対話しながら身につける、新しいVBA入門
リンク
★★★★★ 4.6 ※ Amazonカスタマーレビューより
✓マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
✓「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
✓変数・条件分岐・ループなどVBAの基礎もしっかり解説されている