- ベストアンサー
Excelで色つきセルをカウントする方法
jcb3092と申します。 Excelで色つきセルをカウントする方法をご教授頂きたく お願い申し上げます。 Excel2002を使用しています。 colorindex=38(ローズ)を数えたいです。 どうか宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1 Excelの標準で用意されているワークシート関数ではできません。 2 自分でVBAで関数を作ればできますが、「カウント表示セルに自動で表示される」ようにはできるとは限りません。 Excelの関数や検索などは、セルの色や大きさなどの設定には関係ないのです。主に、セルに入力されているデータに関係するので、色が変わっただけでは自動では再計算されないでしょう。 逆に、条件付き書式のようにデータによって色を変えることはできます。 したがって、データが変わる→色が変わる→カウント表示が変わる は、自動でできますが、手動で色を変えてもカウント表示は自動では変わらないでしょう。 どこかのデータを変えてみるか、再計算(F9キー)させなければなりません。 イベントを使えば、全部自動でできなくもないが、ここでは説明が困難です。 下記に、ユーザー定義関数を示します(#1さんの流用)。 Function rose(hani) Application.Volatile Dim c As Range Dim cnt As Long cnt = 0 For Each c In hani If c.Interior.ColorIndex = 38 Then cnt = cnt + 1 End If Next rose = cnt End Function 1. これを、VBEの標準モジュールにはりつけて、 2. カウント表示セルを選択して、 3. 挿入―関数―「関数の挿入」ダイアログで 関数の分類 「ユーザー定義」にして、 関数名ボックスに表示される「rose」をダブルクリックして、 4. 「hani」を数えたい範囲を選択して、OKとすればよい。 ただし、色を手動で変えただけでは、自動ではカウントはかわらないのは前に書いたよ。 これができないなら、あきらめる。
その他の回答 (3)
- okormazd
- ベストアンサー率50% (1224/2412)
#3です。 ちょっと不正確な表現があったので、捕捉します。 たぶん、2002以降のExcelでは、色で検索できます。 編集―検索―「検索と置換」のダイアログで、 オプション―書式―パターン で、色を選択して、「すべて検索」で、色の付いたセルを検索できます。 下のボックスのリストを全部選択すれば、セルの個数も表示されます。 ただ、これを自動で自分の選んだ「表示セル」に表示させることはできない。
- Hotmot20000
- ベストアンサー率16% (2/12)
colorindex=38 とあったのでVBAで求めているのだと思いました・・。 関数はわかりません
- Hotmot20000
- ベストアンサー率16% (2/12)
処理に少し時間がかかるが(参照セルが多いほど) Sub カウント() Dim c As Range Dim cnt As Long cnt = 0 For Each c In Selection If c.Interior.ColorIndex = 38 Then cnt = cnt + 1 Next Next MsgBox cnt End Sub
お礼
Hotmot20000様、有り難うございました。 VBは勉強不足でイマイチでございまして、できれば 関数等でできますでしょうか?。 色つきセルはD列とF列に50個ほど並んでおりまして、 カウント表示セルに自動で表示される。と非常に ありがたいのですが。 虫の良いお願いで申し訳ありません。 宜しくご教授下さいますよう重ねてお願い申し上げます。 jcb3092でした
お礼
okormazd 様 有り難うございました。 この方法を今朝方まで掛かり解決しました。 Excel VBA がサッパリでございまして、これから 少しずつ勉強して参ります。 今後とも宜しくお願い致します。 jcb3092でした。