• ベストアンサー

エクセルで網掛けのセルだけカウント

エクセルで指定範囲内の網掛けされたセルの数をカウントしたいのですが、どうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 にカウントされます。 条件がセル範囲である場合等は、また書き込みします。

table_1969
質問者

お礼

ありがとうございます。 いろいろと調べていただいたようで、申し訳ありませんm(__)m なぜこうなるのか分かりませんが、思い通り上手くいきました。 なぜこうなるのか今から、勉強します。 本当にありがとうございました。

その他の回答 (1)

回答No.1

例えば"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

table_1969
質問者

補足

ありがとうございます。 確かに、普通に網掛けされたセルなら出来たのですが、条件付き書式によって網掛けされたセルだったのでInterior.ColorIndex で認識できないようでiが0で返ってきます。 条件付き書式で設定された網掛けを認識させることは出来ないんでしょうか?

関連するQ&A

専門家に質問してみよう