Excelで色付きセル(塗りつぶしたセル)をカウントする方法

VBEを起動したら、「挿入」メニューをクリックして「標準モジュール」を選択し、立ち上がったウィンドウに以下のコードを入力します。

Function CountColorA(Rng As Range) As Long

 Dim myRng As Range
 Dim Col_cnt As Long

 Application.Volatile
 Col_cnt = 0

 For Each myRng In Rng
  If myRng.Interior.ColorIndex > 0 Then
   Col_cnt = Col_cnt + 1
  End If
 Next myRng
 CountColorA = Col_cnt
 
End Function

VBEを最小化してExcelの操作画面に戻りましょう。

カウントを表示したいセルを選択し、数式「=CountColorA(対象範囲)」を入力します。「対象範囲」には、カウントするセル範囲を入力してください。

対象範囲がA1からJ1であれば、「=CountColorA(A1:J1)」とします。

色付きセルの数を変更した場合は、[F9]を押せばカウントが更新されます。

上記画像の例で言うと、赤いセルを7個から4個に変えた場合、それだけではN1は「7」のままですが、[F9]を押せば「4」になります。

うまく更新されない場合は、数式のうしろに「+NOW( )*0」を付け、「=CountColorA(対象範囲)+NOW( )*0」としてから[F9]を押してみてください。

マクロ有効形式で保存

マクロ(ユーザー定義関数)を使っているので、マクロ有効形式でファイルを保存しましょう。

保存する際、ファイル形式のリストから「Excelマクロ有効ブック(*.xlsm)」を選択してください。

コメント


認証コード3993

コメントは管理者の承認後に表示されます。