エクセルマクロで、指定の日付範囲に色付けするVBAコードをご紹介します。
日程表の日付(ガントチャート)を、自動で着色することができます。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
指定の日付範囲に色付け
以下のマクロを実行すると、指定期間のセル範囲を着色します。
Sub 開始日から終了日までセル塗りつぶし()
Dim s As String
Dim e As String
Dim i As Long
Dim j As Long
Dim LastRow As Long
Dim LastClm As Long
'最終行
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'最終列
LastClm = Cells(2, Columns.Count).End(xlToLeft).Column
'3~最終行までループ
For i = 3 To LastRow
'「開始日」
s = Cells(i, 2)
'「終了日」
e = Cells(i, 3)
'D~最終列までループ
For j = 4 To LastClm
'2行目が 「開始日」~「終了日」に当てはまる場合
If Cells(2, j) >= s And Cells(2, j) <= e Then
'該当日に色付け
Cells(i, j).Interior.Color = 65535
End If
Next j
Next i
End Sub
マクロ実行後
各行のB列~C列の期間のセルに、色を塗ります。
補足
2行目の日付は「ユーザー定義」で「m/d」形式で入力しています。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】日付処理を自動化する使用例まとめ
【エクセルマクロ】日付処理を自動化する:使用例17選
...
「Excel マクロ&VBA 実践ビジネス入門講座」
「基礎力」と「実践力」がいっきに身につく
丁寧な解説にこだわっている一冊です
リンク