- ベストアンサー
エクセルで網掛けのセルだけカウント
エクセルで指定範囲内の網掛けされたセルの数をカウントしたいのですが、どうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>条件付き書式で設定された網掛けを認識させることは出来ないんでしょうか? 私にも分からなかったので、アチコチの掲示板で聞いてみました。 その結果ですが、条件付き書式の網掛けを直接判定する方式は分かりませんでした。条件を文字列で取得して、判定するしかないようです。 設定されている条件はどのようなものか(セル範囲か数式か)、また条件は幾つ設定されているのか、それによって対応は全部違います。全部の条件を列挙すると長くなりますので、条件は1つだけで、条件は数式である場合について書きます。 For Each var In Range("A1:B4") var.Activate If Evaluate(var.FormatConditions(1).Formula1) Then i = i + 1 Next var セル範囲は"A1:B4"、i にカウントされます。 条件がセル範囲である場合等は、また書き込みします。
その他の回答 (1)
- gonta_goma
- ベストアンサー率50% (37/73)
例えば"A1:B4"の範囲ならば下記でいけると思います。 iにセル数がカウントされます。 Dim var As Variant, i As Integer For Each var In Range("A1:B4") 'Selection If var.Interior.ColorIndex > xlColorIndexNone Then i = i + 1 Next var
補足
ありがとうございます。 確かに、普通に網掛けされたセルなら出来たのですが、条件付き書式によって網掛けされたセルだったのでInterior.ColorIndex で認識できないようでiが0で返ってきます。 条件付き書式で設定された網掛けを認識させることは出来ないんでしょうか?
お礼
ありがとうございます。 いろいろと調べていただいたようで、申し訳ありませんm(__)m なぜこうなるのか分かりませんが、思い通り上手くいきました。 なぜこうなるのか今から、勉強します。 本当にありがとうございました。