• ベストアンサー

EXCELで、色つきセルだけカウントしたい

エクセルで「条件付書式」を使って、セルに色がつけてあります。 その色が付いたものだけを、カウントして、件数を表示させたいのです。色つきセルが、3個なら、別のセルに、3というぐあいに…可能でしょうか?

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#02です それでは折衷案で、シートの条件付き書式が設定してあるセルの値が「ある値」と同じ場合にカウントするのではどうですか? シートを一旦保存した後で、以下のマクロを「シート名右クリック」→「コードの表示」で開く画面に貼り付けてください。その後すぐに3行目、4行目のセルアドレスを実際のシートに合わせて変更してください。(サンプルではA4,A5としています) Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range, clCount As Long Const trgADRS As String = "A4" '「ある値」のセルアドレス Const setADRS As String = "A5" '結果を格納するセルアドレス  For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions)   If c.Value = Range(trgADRS).Value Then    clCount = clCount + 1   End If  Next  Range(setADRS) = clCount End Sub シートに戻ってどこかのセルの値が変わったタイミングで結果が表示されます。

steppy2
質問者

お礼

できました。お手数をおかけしました。内容が難しいですね。今から勉強します。今回は、アドバイスを色々と頂き、ありがとうございました。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

例えば、あるセル値が対象範囲内の含まれるセル数は=COUNTIF(範囲,セル値)で計数できますが如何でしょうか。

steppy2
質問者

お礼

ありがとう御座いました。この方法だと簡単に件数を表示することができました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

条件付き書式で色が付いているかどうかを判定するためにはFormatConditionsの条件1~3がTRUEかどうかを判定する必要があり、結構面倒な処理になります。 また「元々色が着いているセル」に対して、条件付き書式で「塗りつぶしなし」にするような場合も可能性としては考えられるため、そこまでマクロで記述するとなると面倒さは更に増します どのような「条件付き書式」を使用されているか教えていただけませんか? またsteppy2さんはVBAはどのくらい使えるかも教えていただけると回答しやすいです。もしVBAがある程度使えるなら参考URLの情報だけでマクロが作成できると思います。

参考URL:
http://www.keep-on.com/excelyou/2000lng4/200005/00050350.txt
steppy2
質問者

補足

ある値と、同じ値のセルに色をつけるように、条件付き書式でしております。面倒であるようなら、ある値と同じ値のセルの個数を検索する方法では、どうでしょうか? VBAは、素人です。すいません…

  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.1

同様な質問がありました http://oshiete1.goo.ne.jp/qa2413029.html あるいは 「色番号」を取得するなら、こちらの方法もあります http://bbs.pc21.nikkeibp.co.jp/keyword-512

steppy2
質問者

補足

ソフトの説明文の中に、ご注意 「色番号」アドインソフトは、「条件付き書式の設定」で付けたセルの色には対応しません。 また、「条件付き書式の設定」の関数には入力できません。 との事でした。今回は、「条件付き書式」で行っているので、どうなんでしょうか?

関連するQ&A

専門家に質問してみよう