

VBA初心者です。
VBAで行単位で条件付き書式の色をカウントしたいです。
大量のデータがあるExcelで多数の条件付き書式で色を塗りつぶしています。
またもともと行単位で条件付き書式とは別に色分けしている部分もあります。
その中で条件付き書式で色塗りされたセルだけを行単位で数をカウントするマクロを作りたいのですが、どうも上手くできません。以下が今作ってるマクロです。どなたかわかる方はいますでしょうか?
よろしくお願いします。
Dim taishoRow As Range
Dim Rng As Range
Dim cnt As Long
On Error Resume Next
Set taishoRow = Application.InputBox("対象行を選択","行取得",,Type:=8)
For Each Rng In taishoRow
If Rng.FormatConditions.Count <> 0 Then
If Rng.DisplayFormat.Interior.ColorIndex <> xLNone Then
cnt = cnt + 1
End If
End If
Next Rng
MsgBox cnt
End sub
No.1ベストアンサー
- 回答日時:
こんにちは
少し問題要素は残りますが、条件を充たした時に ユーザーがあらかじめ設定しているセル色と同じにしない・・と言う事が前提であれば
条件部分を
If Rng.FormatConditions.Count <> 0 Then
If Rng.DisplayFormat.Interior.ColorIndex <> xlNone _
And Rng.DisplayFormat.Interior.ColorIndex <> Rng.Interior.ColorIndex Then
cnt = cnt + 1
End If
End If
のように 加えると 条件を充たしていないがあらかじめ設定されているセル色を除外できると思います。
ありがとうございます。
やってみたらそれらしい結果がでました。
ただあらかじめ設定しているセル色と同じにしないというのが引っかかります。
条件付き書式で色は同じでも書式を変えてるのもあるので。。。
No.3
- 回答日時:
>条件付き書式の色をカウントしたいです。
>条件付き書式で色は同じでも書式を変えてるのもあるので。。。
これ、矛盾していませんか?
条件付き書式を充たしているセルを数えたいと言う事?
だとすると、かなり難しい(面倒)・・
プロパティに条件のTrue/Flaseを返すのが無かったと記憶しているので
設定されているすべての条件を調べて、かつ条件が充たされているか否かを調べる必要がありそうですね・・・
同じセルに複数の条件設定が出来るのと書式設定も多岐にわたる事を考えると申し訳ないのですが萎えます。
どこかに条件付き書式のファンクション、メソッド無いかな・・?
コメントありがとうございます。
自分自身もかなり難しいと思って質問しました。
ただ今回は色で判断するだけでも良いと思うので、前にご回答いただいたコメントでなんとかなりそうです。
ご丁寧にありがとうございます。
No.2
- 回答日時:
こんにちは
>どうも上手くできません。
どこが、意図と異なるのでしょうか?
よくわからないのですが、文書等では「行単位で条件付き書式の色をカウント」と書いてありますが、実際に行っているのは入力セル範囲のセルのチェックです。
入力者が行を選択すれば、当然行が対象となりますが、セルを選択することも可能なので、その際にどう対処するのでしょうか?
入力されたセルのみをチェック対象とするのなら、ご提示のままで問題ないと思います。
ただし、入力者が行全体を選択した場合、不要な非使用のセルのチェックまで行ってしまいますので、
Intersect(ActiveSheet.UsedRange, taishoRow)
とすることで、不要部分を省くことが可能と思います。
1セル(またはいくつかのセル)が入力されても、その行全体を対象とするのなら、範囲を
Intersect(ActiveSheet.UsedRange, taishoRow.EntireRow)
に広げる必要があるのかも知れません。
カウントの処理として、「条件付き書式が設定されているセル」をカウントなさりたいのではなく、「条件付き書式で色を変えて表示されているセル」をカウントしたいのではないかと推測しますが・・
もしそうであるなら、
>If Rng.DisplayFormat.Interior.ColorIndex <> xLNone Then
では、「無色ではないセル」の数をカウントしていることになります。
比較するのは、「実際の表示色」と「セルに設定されている色」で、これが異なれば条件付き書式により色が変わっているものと判断するということではないのでしょうか?
その場合であれば・・
If Rng.DisplayFormat.Interior.Color <> Rng.Interior.Color Then
ではないのかと。
ColorIndexはエクセルのカラーテーブルのindexになります。
自由な色設定も考慮しておくのなら、Color(=RGBカラー)で比較する方が宜しそうに思います。
>>どうも上手くできません。
>どこが、意図と異なるのでしょうか?
行単位で処理をすると条件付き書式で変わった色だけではなく色付きのセルを全て返してきてました。
おっしゃる通りの
If Rng.DisplayFormat.Interior.Color <> Rng.Interior.Color Then
を前の回答者の方に教えていただき解決しそうです。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
集中するためにやっていること
家で仕事をしているのですが、布団をはじめ誘惑だらけでなかなか集中できません。
-
エクセル 条件付き書式で色をつけたセルの個数を数えたいです。 ネットで調べてcountcolorAも
Excel(エクセル)
-
条件付き書式の色付きセルのカウント方法について
Excel(エクセル)
-
VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB
Visual Basic(VBA)
-
-
4
条件付書式で色づけしたセルの数をカウントしたい
その他(Microsoft Office)
-
5
条件付き書式で色塗りしたセルをカウント マクロ
Excel(エクセル)
-
6
EXCEL 条件書式で反応したものだけCOUNTしたい
Excel(エクセル)
-
7
Excel 条件付きの書式 マクロ
Excel(エクセル)
-
8
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
9
VBAで色の付いているセルの行削除
Excel(エクセル)
-
10
別のシートから値を取得するとき
Visual Basic(VBA)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
EXCELでセルの値が変化したときだけにマクロ実行
Excel(エクセル)
-
13
【Excel】 色の一致するセル数をカウントしたい。
Excel(エクセル)
-
14
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
15
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
16
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
17
背景色の有無を判断をして別のセルに「1」と入力
Excel(エクセル)
-
18
Excel VBA で色付きのセルの値を取得する
Excel(エクセル)
-
19
昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件付書式で「=#N/A」に色を付...
-
E列のセルに数値が入れば(空白...
-
Excel にて条件付き書式の色に...
-
Excelの条件付き書式にて空白セ...
-
条件付き書式で、結果が1行ずれる
-
【Excel】条件付き書式で 0では...
-
エクセルで特定の数字等を表示...
-
【エクセル】シフトで○が6個以...
-
エクセルで1以上は全て1にするには
-
条件付き書式で太罫線を引く方法
-
エクセル:文字色を認識して○×...
-
【エクセル】今日の日付に赤枠...
-
エクセルの枠の中の文字が青文...
-
エクエルで隣のセルの文字が赤...
-
セルの値が空白じゃないなら色...
-
エクセル内で複数の文字(50個ぐ...
-
セル結合させてるときの 条件...
-
Excelのテキストボックスでフォ...
-
ピボットテーブルオプション「...
-
エクセルでシート参照する場合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件付書式で「=#N/A」に色を付...
-
E列のセルに数値が入れば(空白...
-
条件付き書式で、結果が1行ずれる
-
Excel にて条件付き書式の色に...
-
エクセルで特定の数字等を表示...
-
Excelの条件付き書式にて空白セ...
-
【Excel】条件付き書式で 0では...
-
エクセルの枠の中の文字が青文...
-
エクセルで1以上は全て1にするには
-
エクセル内で複数の文字(50個ぐ...
-
一つ上のセルと同じセルに色を...
-
セル結合させてるときの 条件...
-
エクセル:文字色を認識して○×...
-
Excel 条件付書式 今日より3日...
-
【エクセル】シフトで○が6個以...
-
Excelについて あるセルに文字...
-
条件付き書式で太罫線を引く方法
-
【エクセル】今日の日付に赤枠...
-
エクセル 条件付き書式で色をつ...
-
ピボットテーブルオプション「...
おすすめ情報