【エクセルマクロ】指定の日付範囲に色付け:コピペで使えるコード

vba-指定の日付範囲に色付け-アイキャッチ ExcelVBA

エクセルマクロで、指定の日付範囲に色付けする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」形式で入力しています。

 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】日付処理を自動化する:超便利11選
...

 

「Excel マクロ&VBA 実践ビジネス入門講座」
「基礎力」と「実践力」がいっきに身につく
丁寧な解説にこだわっている一冊です