【エクセルVBA】2023年8月のカレンダーを一発作成する方法

こんにちは、ヒガシです。

 

今回はエクセルVBAを使って、以下の画像のように2023年8月のカレンダーを一発作成する方法をご紹介していきます。

2023/8のサンプルカレンダーをエクセル上に作成した例

(山の日まで考慮しています。)

 

それではさっそくやっていきましょう!

 

スポンサーリンク

VBAの実行環境を整えておく

今回はVBAを使って実行していきますので、まずはエクセルの設定を変更してVBAを使えるようにしておきましょう。

 

以下にその手順を掲載しています。

エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説

 

スポンサーリンク

2023/8のカレンダー作成VBAコード

それではカレンダー作成のVBAコードをご紹介します。

Sub make_calendar()
    Dim day_data As String, start_day As String
    Dim day_number As Integer, i As Integer
    Dim shukujitu As Integer
    '作成領域をクリアする
    Range("A1:G8").ClearContents
    '年、月を記述する
    Range("A1") = "2023/8"
    '曜日データを構築(月からでもOK)
    Week = "日,月,火,水,木,金,土"
    '開始曜日を指定
    start_day = "火"
    '月の総日数を指定
    day_number = 31
    '祝日の指定
    shukujitu = 11
    'カレンダー作成開始
    For i = 0 To 6
        Cells(2, i + 1) = Split(Week, ",")(i)
        If Split(Week, ",")(i) = start_day Then
            col = i + 1
        End If
    Next
    ddd = 7 - col
    rrr = 3
    i = 1
    Do Until i = day_number + 1
        If i <= ddd + 1 Then
            Cells(rrr, col) = i
            If i = shukujitu Then
                Cells(rrr, col).Font.Color = RGB(255, 0, 0)
            End If
            i = i + 1
            col = col + 1
        Else
            ddd = ddd + 7
            col = 1
            rrr = rrr + 1
        End If
    Loop
    '枠線等の描写
    Range(Cells(1, 1), Cells(rrr, 7)).Borders.Weight = xlThin
    Range(Cells(1, 1), Cells(rrr, 7)).Font.Bold = 1
    Range(Cells(2, 1), Cells(2, 7)).Interior.Color = RGB(200, 220, 255)
    Range(Cells(1, 1), Cells(rrr, 7)).HorizontalAlignment = xlCenter
End Sub

 

このコードは実行する際にアクティブになっているシートのA1セルからG8セルまでを強制的に上書きしてしまいます。

実行前に重要なデータがないかよく確認のうえ、実行しましょう。

 

スポンサーリンク

サンプルコードの実行方法

それでは先ほどのコードの実行方法をご紹介します。

 

まずは以下の画像のように開発タブ⇒Visual Basicを選択します。

サンプルコードの実行方法①

※開発タブがない人はVBAの設定がうまくできていませんので、以下を参考に再度設定を確認してみましょう。

エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説

 

次に以下の画像のように

①標準モジュールの作成

②サンプルコードの貼り付け

③実行

を順番に実行します。

サンプルコードの実行方法②

これでもとのエクセルファイルに戻るとカレンダーが作成されているはずです。

 

スポンサーリンク

おわりに

ということで今回は2023年8月のカレンダーを一発作成する方法をご紹介しました。

 

来月以降も作成していこうと思いますのでぜひご活用ください。

 

それではまた!

コメント

タイトルとURLをコピーしました