dポイントプレゼントキャンペーン実施中!

日曜日始まりのボックス型の万年カレンダーを作成しています。各月ごとに稼働日と休日の日数を出したいのですが、思うようにできません。

西暦を入れると自動で日にちが出てきます。
前の月と次の月の日にちは文字がグレーになるよう条件付き書式を設定してます。
また、別シートに祝日一覧があり、祝日は赤字のピンク塗りつぶしになるよう条件付き書式を設定してます。
元々、日曜は赤字、土曜は水色時にしています。

各月ごとに稼働日と休日の日数を出したいのですが、
(4月は稼働日数をC10に休日日数をG10に)
例えば4月の休日日数のセルに[=CountColorA(B4:H9)]を入れ、

標準モジュールには

Function CountColorA(Rng As Range) As Long
Dim myRng As Range
Dim Col_cnt As Long
Application.Volatile
Col_cnt = 0
For Each myRng In Rng
If myRng.Interior.ColorIndex > 0 Then
Col_cnt = Col_cnt + 1
End If
Next myRng
CountColorA = Col_cnt
End Function

を入れています。

これだと自分でピンクに塗りつぶした分は更新すればカウントされますが、
条件付き書式で設定したピンク部分はカウントされません。

条件付き書式で設定した分もカウントされるよう、また、稼働日の日数をカウント(前の月と次の月とピンク塗りつぶしを除いた)されるようにするには
どうすれば、良いでしょうか。

A 回答 (2件)

Np1です。



今見たら、最後の式の説明部分を打ち間違えていたみたい。
 誤: ③ - ①
 正: ① - ②
ですね。
    • good
    • 0

こんにちは



祝祭日一覧がきちんとできているなら、カレンダーの色表示などとは関係なく、稼働日等を計算可能です。

日付や日にちは全てシリアル値とします。
求めたい月は決まっているのですから、計算手順として

① その月の全日数を求める
  「翌月1日」-「当月1日」
https://www.tschoolbank.com/excel/function-eomon …

② 当月の稼働日を求める
  NETWORKDAY(当月1日, 当月月末日, 祭日一覧)
https://dekiru.net/article/16390/

③ 当月の休日数を求める
  「全日数」 - 「稼働日数」 (= ③ - ① )

といった感じでできるでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!