- ベストアンサー
VBA 特定の色がついたセルを数える…
VBA初心者です。 特定の色がついているセルを数えるプログラムが組めなくて困っています。 たとえば Dim a as Integer a=Range(Cell(1,1),Cell(1,12))の間にあるセルが緑色の個数 このようにしたいのです。 できるだけFor文など一つ一つカウントしていくようなプログラムは避けたいです。 Countプロパティが鍵かなとは思ったのですが、思うように組めません。 なにかいい構文などはないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAでループ以外の方法があるかは分かりません。 参考まで。 色のついたセルをカウント・集計 http://miyahorinn.fc2web.com/faq/faq030.html
その他の回答 (1)
- sineminna
- ベストアンサー率31% (118/370)
自分も未熟なんでひとつひとつカウントする方法しか思いつきませんが・・・ For Each c In Range("A1:J20") If c.Interior.ColorIndex = 6 Then a = a + 1 End If Next MsgBox (a) あるいは関数で Function CountColor(計算範囲, 条件色セル) CountColor = 0 For y = 1 To 計算範囲.Columns.Count For x = 1 To 計算範囲.Rows.Count If 計算範囲.Rows(x).Columns(y).Interior.ColorIndex = 条件色セル.Interior.ColorIndex Then CountColor = CountColor + 1 End If Next Next End Function
お礼
やはりループしかなさそうですね。 For each文は使えそうですね。 とても参考になりました。ありがとうございました!
お礼
色のついたセルを正規の方法でカウントすることはできないんですね…。 教えてくださったURL,とてもためになりました。 どうもありがとうございました!