
こんにちは。
エクセルのデーター表を作成しフィルターで集計をしています。
色を付けたセルのカウント(条件付き書式ではない)をする定義をVBAにて下記のように作成しました。
これをフィルターに対応させるにはどうすればよいでしょうか?(表示している色つきセルだけをカウントする)
Function ColorCount(R1 As Range, C As Range)
Dim r As Range
Application.Volatile
ColorCount = 0
For Each r In R1
If r.Interior.Color = C.Interior.Color Then
ColorCount = ColorCount + 1
End If
Next r
End Function
VBAは詳しくわかりません。
どなたかご指導お願いいたします。
エクセル2013を使用しております。
No.1ベストアンサー
- 回答日時:
こんばんは。
こんな感じでしょうか。
私は、Application.Volatile は使いません。使わなくても同じですから。
それから、ユーザー定義関数の代わりに、変数を置きました。
理由としては、基本的に、こうした関数の出力はVariant 型ですが、カウントはLong型がよいので、2つに分けました。
'//
Function ColorCount(R1 As Range, C As Range)
Dim r As Range
Dim cnt As Long
For Each r In R1
If r.Interior.Color = C.Interior.Color Then
If r.EntireRow.Hidden = False Then
cnt = cnt + 1
End If
End If
Next r
ColorCount = cnt
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 数式の無効化
-
PowerPointの表内のカンマ
-
セル上に表示された見かけ上の...
-
エクセルの計算式でコンマを付...
-
EXCEL計算式が入っているセルを...
-
エクセルでオートサムを使った...
-
エクセルで、50銭以下切捨て...
-
エクセルで「-3E+06」と...
-
エクセルでの『セルの書式設定...
-
エクセルで桁を揃えるために0を...
-
エクセルで分数表示させるには
-
16桁以上の「0」に変換されてし...
-
エクセル 平均年齢
-
Excelの表示形式で切り捨て
-
エクセルで保護がかかったセル...
-
エクセルの小数点を消す
-
エクセルでleft関数の結果が表...
-
エクセルの画面上にテキストBOX...
-
数値に E でてくるのは。
-
スキャナで読み込んだ伝票の画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointの表内のカンマ
-
エクセル 数式の無効化
-
セル上に表示された見かけ上の...
-
エクセルの計算式でコンマを付...
-
エクセルで「-3E+06」と...
-
エクセルでleft関数の結果が表...
-
エクセルでオートサムを使った...
-
16桁以上の「0」に変換されてし...
-
エクセルの計算結果に+(プラス...
-
Excel97 数字を0120と入力する...
-
エクセル 0.1と0.10
-
エクセルで、50銭以下切捨て...
-
EXCEL計算式が入っているセルを...
-
エクセルで囲み線で出来ますか?
-
エクセルの画面上にテキストBOX...
-
エクセルでの『セルの書式設定...
-
エクセルで、タイム計測の管理...
-
エクセルで桁を揃えるために0を...
-
エクセルの小数点を消す
-
Excelで小数点を表示しつつ、桁...
おすすめ情報