本ページはプロモーションが含まれています
会社の年間カレンダーをつくるときに、休日数を数えるのって大変ですよね。
EXCELのVBAで色付きセルを数える関数をつくればかんたんです。
心配不要、コピペでokです♪
会社の年間カレンダーをつくろう
会社の年間カレンダーのつくりかた。
簡単なのはインターネットからのダウンロード。
「年間カレンダー 20〇〇年 無料」などで検索します。
エクセルママさんのサイトがおすすめです。
ダウンロードしたものを加工して使用します。
サンプルを作成しました。

色付きセルを数えるVBA
サンプルに休日数、稼働日などを記入する表がありました。
いちいち数えるのはめんどくさい!
しかし、EXCELに色付きセルを数える関数はありません。
そこで助けてくれるのがVBAです。
VBAで関数をつくる
まずVBAの始め方から。
シートのタブを右クリック → 「コードの表示」をクリック。

VBAエディターが開きます。
「挿入」→「標準モジュール」。

標準モジュールの「Module1」が選ばれていることを確認。
右側にコードをコピペしてください。

Function CCNT(AREA As Range, CL As Range) As Long
Dim J As Range
Application.Volatile
CCNT = 0
For Each J In AREA
If J.Interior.Color = CL.Interior.Color Then
CCNT = CCNT + 1
End If
Next J
End Function
色付きのセルを数える/合計する:Excel VBA入門を参考にさせていただきました
これで準備は完了。
VBAエディターは×で閉じてください。
VBAをつかったブックの保存方法
VBAを使っています。
保存するときは「マクロ有効ブック *.xlms」で保存してください。
色付きセルを数えるVBAの使い方
VBAを使って関数を作成しました。
作成した関数の使い方は
=CCNT(数える範囲,数える色のセルを指定)
1月の土曜日を数えるのはこんな感じ。
A4:G9の範囲内でB15と同じ色のセルを数えます。

日曜日、祝日・振替、特別休暇も同様です。
※色を付け直したりした場合は「F9」キーを押して更新して下さい
月日数の数え方など
月日数は「COUNT」関数で求めています。
1月を例にすると
=COUNT(A4:G9)
休暇日数は「色付きセルを数えたものの合計」
稼働日は「月日数 – 休暇日数」
で求められますね。
まとめ
色付きセルを数えるVBAで会社の年間カレンダーをつくる方法を紹介しました。
「休日をふやしてほしい」は従業員の願いですよ(^_-)-☆
ほかにもいろいろ書いてます
↓ 下記からご覧ください
サイトマップ
ブックマークして頂けると嬉しいです
よろしくお願いいたします
コメント