Excel VBAで今月のシートに自動で色をつける方法
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枚のシートを使用します。
「VBA」を起動
VBAの起動方法は2つあります。
①「開発」→「Visual Basic」を押す。
②「Alt」+「F11」を押す。
VBAのコードを書く前に
VBAを起動したら①→②の順番に作業をします。
①「This Worklbook」をダブルクリック
②「Gereral」から「Workbook」へ変更してください。
①、②が終わると
Private Sub Workbook_Open()
End Sub
が出現します。
下記画像のように、赤線2箇所の部分が「Workbook」、「Open」になります。
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
このようになります。(※コピペでも大丈夫です)
コードの記述をしたら、コードのどこかにカーソルを合わせた状態で【「F5」(デバッグ)】を押します。
正しくコードが記述されていれば、コードが実行されます。
実行されているか確認するためにExcelに戻ります。
※VBAからExcelに戻る方法は以下の2通りです※
①「表示」タブ→「Microsoft Excel」を選択する
②「Alt」+「F11」
コードが実行されていると「今月のシートを選択した状態で、シートの色が黄色になっている」と思います。
この状態でExcelの保存を行って完成です!
※保存を行う際は「Excel マクロ有効ブック(*.xlsm)」で行ってください。
※「Excel ブック(*.xlsx)」だと以下のようになります。
さいごに
いかがだったでしょうか??
ちなみにもし当月ではないシートを選んだままExcelを閉じて、再び開くと今月のシートが選ばれた状態になります。
VBAを扱えると、Excelを更に効率化できます。
これを機会に小さなDX化を進めてみてください。
👑ごった煮ブログ人気記事 TOP3👑
1位
2位
3位