質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

14915閲覧

Excelで条件付き書式の条件を満たしたセルをカウントしたい

skel

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2022/02/20 06:59

編集2022/02/20 10:29

条件付き書式を利用したガントチャート生成エクセルを組んでおります。
タスク、開始日、締め切りを入力すると、カレンダーのセルに色がついてガントチャートになるというアイデアです。
このうち、タスクがいくつ平行しているかを数値化したく、下記画像の青枠のように、その日の列を参照し、色つきのセルの数をカウントする関数またはVBAを組みたいと思っております。
(下記の画像は単に手打ちで数字をいれているだけです)
イメージ説明

セルに手動で色をつけている場合は下記のようなVBAでセルの数をカウントできますが、これを条件付き書式で実現するにはどうすればよろしいでしょうか。
https://nako-itnote.com/excel-color-count/#STEP3

どうぞよろしくお願いいたします。

参考までに、条件付き書式自体は下記のようなマクロを使用しています。

VBA

1Sub 条件付き書式のセット() 2 3 Dim Con 4 '条件付き書式を削除 5 Range("範囲_ガントチャート").FormatConditions.Delete 6 '締め切り1 7 Set Con = Range("範囲_カレンダー").FormatConditions.Add(Type:=xlExpression, Formula1:="=AND($G4>=K$2,$G4<L$2)") 8 '緑 9 Con.Interior.ColorIndex = 12 10 Con.StopIfTrue = False 11 '作業期間 12 Set Con = Range("範囲_カレンダー").FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(タスク_開始<=K$2,タスク_終了>=K$2)") 13 '黄緑 14 Con.Interior.ColorIndex = 35 15 Con.StopIfTrue = False 16 17End Sub

回答1(ありがとうございます)をうけまして、下記のようか関数を定義してみましたが、
エラーが返ってきてしまいます。
条件付き書式が設定されており、かつ色がついているセルをカウントするという設定にしていますが、
If c.DisplayFormat.Interior.ColorIndex <> xlNone Then
の行がうまく効かないようです。何がいけないのでしょうか。。。

VBA

1Function CountColorA(Rng As Range) As Long 2 Dim c As Range 3 Dim cnt As Long 4 Application.Volatile 5 Col_cnt = 0 6 For Each c In Rng 7 If c.FormatConditions.Count > 0 Then 8 If c.DisplayFormat.Interior.ColorIndex <> xlNone Then 9 cnt = cnt + 1 10 End If 11 End If 12 Next c 13 CountColorA = cnt 14End Function

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://oshiete.goo.ne.jp/qa/10973002.html
が参考になるかと思います。

投稿2022/02/20 07:29

iruyas

総合スコア1067

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問