プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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 にカウントされます。
条件がセル範囲である場合等は、また書き込みします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/09/15 16:34

例えば"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で返ってきます。
条件付き書式で設定された網掛けを認識させることは出来ないんでしょうか?

補足日時:2001/09/10 17:31
    • good
    • 0

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