Excel VBAで今月のシートに自動で色をつける方法

2023年3月28日ビジネス,ITExcel,業務効率化,Office

Excelで下記画像のように「月ごと」でシートを分けている時はありませんでしょうか??

「月別に集計」、「月別でデータを入力」をしたい時に筆者は使っています。

今回はExcel VBAで今月のシートに自動で色をつける方法についてご紹介します。

是非最後までご覧ください。

Excelの「VBA」を使って実装します

Excelの「VBA」を使って実装します。
※「VBA」(Visual Basic for Applications)はExcelやAccessなどのOffice製品で利用できるプログラミング言語です。

今回使うVBAのコードはこちらです。

Private Sub Workbook_Open()
    Dim seat As Object
    For Each seat In Sheets
        seat.Tab.ColorIndex = xlNone
    Next seat
    
    With Sheets(Month(Date) & "月")
        .Activate
        .Tab.Color = rgbYellow
    End With
End Sub

それでは実装を行っていきます。

①Excelファイルを用意

「1月」から「12月」、計12枚のシートを作成します。
※シート枚数は使用用途に沿って変更してください。本記事では12枚のシートを使用します。

Excelへ各月のシートを用意する

「VBA」を起動

VBAの起動方法は2つあります。
①「開発」→「Visual Basic」を押す。
「Alt」+「F11」を押す。

VBAを起動

VBAのコードを書く前に

VBAを起動したら①→②の順番に作業をします。

①「This Worklbook」をダブルクリック
②「Gereral」から「Workbook」へ変更してください。

VBAの選択項目


①、②が終わると

Private Sub Workbook_Open()

End Sub

が出現します。

下記画像のように、赤線2箇所の部分が「Workbook」、「Open」になります。

VBAのエディタ

VBAのコードを記述する

冒頭に記載したVBAのコードを記述します。

Private Sub Workbook_Open()
    Dim seat As Object
    For Each seat In Sheets
        seat.Tab.ColorIndex = xlNone
    Next seat
    
    With Sheets(Month(Date) & "月")
        .Activate
        .Tab.Color = rgbYellow
    End With
End Sub

このようになります。(※コピペでも大丈夫です)

VBAのコード

コードの記述をしたら、コードのどこかにカーソルを合わせた状態で【「F5」(デバッグ)】を押します。
正しくコードが記述されていれば、コードが実行されます。

実行されているか確認するためにExcelに戻ります。

※VBAからExcelに戻る方法は以下の2通りです※
①「表示」タブ→「Microsoft Excel」を選択する
②「Alt」+「F11」

コードが実行されていると「今月のシートを選択した状態で、シートの色が黄色になっている」と思います。

Excelの今月のシートの色が変化

この状態でExcelの保存を行って完成です!

※保存を行う際は「Excel マクロ有効ブック(*.xlsm)」で行ってください。
※「Excel ブック(*.xlsx)」だと以下のようになります。

さいごに

いかがだったでしょうか??
ちなみにもし当月ではないシートを選んだままExcelを閉じて、再び開くと今月のシートが選ばれた状態になります。

VBAを扱えると、Excelを更に効率化できます。

これを機会に小さなDX化を進めてみてください。


👑ごった煮ブログ人気記事 TOP3👑

1位

2位

3位

Posted by だいすけ