「この日って土日だったっけ?」
「カレンダーやスケジュール表を見やすくしたい!」
そんなときに便利なのが、日付セルが土曜日・日曜日だった場合だけ、自動で色をつけてくれるExcel ExcelVBAコードです。
今回は、A列にある日付のセルに対して、土曜は水色、日曜はピンクで色分けするExcelVBAをご紹介します!
このExcelVBAコードはこんな人におすすめです!!
- 予定表や勤怠表で土日を見やすくしたい方
- カレンダーの土日だけを色分けしたい方
- 関数や条件付き書式ではなくVBAで処理したい方
Sub ColorWeekendCells()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim lastRow As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' A列の最終行取得
Set rng = ws.Range("A2:A" & lastRow) ' ヘッダーを除いたA列の範囲
For Each cell In rng
If IsDate(cell.Value) Then
Select Case Weekday(cell.Value, vbSunday)
Case vbSaturday
cell.Interior.Color = RGB(204, 255, 255) ' 土曜:水色
Case vbSunday
cell.Interior.Color = RGB(255, 204, 204) ' 日曜:ピンク
Case Else
cell.Interior.ColorIndex = xlNone ' 平日は塗りつぶしなし
End Select
End If
Next cell
MsgBox "土日のセルに色を付けました!", vbInformation
End Sub
カスタマイズ例
変更点 | 方法 |
---|---|
チェック対象列をB列にしたい | Range("A2:A" & lastRow) → "B2:B" & lastRow |
土日の色を変えたい | RGB(…) の値を変更(例:グレーや黄色など) |
平日もグレーにしたい | Case Else のところで cell.Interior.Color = RGB(...) を指定 |
複数列で土日を判別したい | For Each col In Array("A", "B", "C") などでループ拡張 |
曜日判定は地味ですが、視認性とミス防止には効果絶大!
VBAなら、シートに一括処理ができるので、手間もミスも減らせます。
ぜひ、日付管理が必要なExcelに導入して、見た目も業務効率もアップさせてください。
コメント