エクセルでカレンダーを作成する方法|土日祝の色を自動変更(条件付き書式やマクロで)
エクセルでカレンダーを作成する方法|土日祝の色を自動変更(条件付き書式やマクロで)

エクセルでカレンダーを作成する方法|土日祝の色を自動変更(条件付き書式やマクロで)

エクセルでカレンダーを作成したい場合があります。

しかしゼロから作成するとなると、どのように作ればいいのか分からないことも多いです。

それに加えて、土日祝の色を自動変更させるような機能を持たせたいとなると、条件付き書式やマクロの知識も必要になります。

そこで、この記事ではエクセルでカレンダーを作成する方法を動画で詳しく紹介します。

また、すぐにカレンダーを使いたい人のためにファイルをダウンロードできるようにしましたので、ぜひ活用ください。

動画解説|Excelでカレンダー作成する方法

動画内容をカンタンに紹介すると以下です。

1. カレンダーはMicrosoftのテンプレートを使う

2. Microsoftのテンプレートだと土日祝の色を変更できないので、条件付き書式やマクロを使って対応する

テンプレートの入手方法から土日祝の色を自動変更する方法まで動画で詳しく解説しています。

ぜひご覧ください。

なお動画内で使っている祝日一覧はこちらのウェブページからコピペください。

動画内で紹介しているマクロのプログラム

動画内で紹介している「シート別カレンダー」で使用しているマクロは以下です。

このプログラムはセル変更を行うと、自動で実行されて、土日祝の色を自動変更します。

シート別のカレンダーのマクロ Visual Basic Option Explicit Sub Font_Change() Dim i As Long, k As Long Dim cmax As Long Dim ws As Worksheet Dim Rg As Range cmax = Worksheets("祝日").Range("B65536").End(xlUp).Row For Each ws In Worksheets If ws.Name <> "祝日" Then For Each Rg In ws.Range("B3:H3") If Rg.Value = "土曜日" Then For k = 1 To 6 Rg.Offset(2 * k - 1, 0).Font.Color = vbBlue Next ElseIf Rg.Value = "日曜日" Then For k = 1 To 6 Rg.Offset(2 * k - 1, 0).Font.Color = vbRed Next Else For k = 1 To 6 Rg.Offset(2 * k - 1, 0).Font.Color = vbBlack Next End If Next For Each Rg In ws.Range("B4:H14") For i = 2 To cmax If Rg.Value = Worksheets("祝日").Range("B" & i).Value Then Rg.Font.Color = vbRed End If Next Next End If Next End Sub 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 Option Explicit Sub Font_Change()        Dim i As Long, k As Long    Dim cmax As Long    Dim ws As Worksheet    Dim Rg As Range        cmax = Worksheets("祝日").Range("B65536").End(xlUp).Row        For Each ws In Worksheets        If ws.Name <> "祝日" Then                    For Each Rg In ws.Range("B3:H3")                If Rg.Value = "土曜日" Then                                        For k = 1 To 6                        Rg.Offset(2 * k - 1, 0).Font.Color = vbBlue                    Next                                    ElseIf Rg.Value = "日曜日" Then                                        For k = 1 To 6                        Rg.Offset(2 * k - 1, 0).Font.Color = vbRed                    Next                                Else                     For k = 1 To 6                        Rg.Offset(2 * k - 1, 0).Font.Color = vbBlack                    Next                 End If                        Next                    For Each Rg In ws.Range("B4:H14")                                For i = 2 To cmax                    If Rg.Value = Worksheets("祝日").Range("B" & i).Value Then                        Rg.Font.Color = vbRed                    End If                Next                            Next                End If    Next    End Sub

動画内で紹介しているエクセルカレンダーをダウンロードする

以下のフォームにメールアドレスを入力すると、以下の2つのエクセルが入ったzipファイルをダウンロードできます

1. 同一シートに年間カレンダーが記入されているエクセル(条件付き書式で土日祝の色を自動変更)

2. 別シートに年間カレンダーが記入されているエクセル(マクロで土日祝の色を自動変更)

本記事の上部で動画を埋め込んでいますが、その動画内で作成方法や使い方を紹介しています。

カレンダーの使い方については、動画をごらんください。

📎📎📎📎📎📎📎📎📎📎
BOT