• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:色付セルの数)

Excel VBAでセルの色付き数を合計する方法

このQ&Aのポイント
  • Excel VBAを使用して、特定の範囲内の色付きセルの数を合計する方法を教えてください。
  • 上記のVBAコードを使用してセルの色付き数を合計しようとしていますが、結果が常に0になってしまいます。
  • 数式「=CountColorA(D3:D29)」を使用して色付きセルの数を表示しようとしていますが、表示される結果が正しくありません。間違いを教えてください。

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

  • ベストアンサー
回答No.2

>数値がはいっているセルのみをカウントする方法はありますか? 何かが入力されているセルの数を数える(数値、日付時刻、文字列など) =COUNTA(D3:D29) 数値が入力されているセルの数を数える(数値、日付時刻など。文字列を除く) =COUNT(D3:D29) 文字列が入力されているセルの数を数える(文字列のみ。数値、日付時刻などを除く) =COUNTA(D3:D29)-COUNT(D3:D29)

tonkotsu0707
質問者

お礼

早々にご丁寧な回答ありがとうございます。 助かりました。 またよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

「条件付き書式」で色付けされているセルは「myRng.Interior.ColorIndex」では判断できません。条件付き書式で色付けされている場合には「myRng.Interior.ColorIndex」は「なし」と同じ値(マイナスの値)になります。 「条件付き書式」で色が付いているかどうか調べるには ・各セルの条件付き書式の個数をRange.FormatConditions.Countで調べる。 ・複数ある条件付書式の個々のタイプ、条件種類をtype、Operatorで調べる。 ・書式のタイプ、条件種類に合わせて、判定式が真か偽か、判断する。 ・判定式が真ならRange.FormatConditions.Interior.ColorIndexの値を調べる。 ・Range.FormatConditions.Interior.ColorIndexの値が1以上の正の数なら色が付いていると判断する。 と言う判断を行ないます。 以下に、1個だけ(FormatConditions(1)だけ)の条件付き書式の真偽を調べるサンプルがあります。 条件付き書式の条件を調べる(3) https://www.moug.net/tech/exvba/0110018.html これを元にして For i = 1 to Rng.FormatConditions.Count With Rng.FormatConditions(i) 個々の書式を調べる End With Next i のように、Forループで回して調べるようにして下さい。 なお、ループ中に「真になった場合」には、それ以上ループしないで「真(色が付いている)」と判断して、ループを中断して下さい。 「偽(色が付いていない)」となるのは「ループを全部回った結果、全部が偽だった時だけ」です。

tonkotsu0707
質問者

補足

早速の回答ありがとうございます。 まさしく「条件付き書式」で色付けされているセルでした。 この場合、色でカウントはあきらめるとして 数値がはいっているセルのみをカウントする方法はありますか? もしご存知でしたら、お教えください。 よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A