白以外の色のセルをカウントする関数

タイトルのサンプルは、以下です。条件付き書式でつけた色もカウントします。

Function ColorCnt(ByVal rngs As Range) As Long
    '変数宣言
    Dim rng As Range
    
    '指定されたセルの範囲の分だけ処理を繰り返す
    For Each rng In rngs
        'セルが塗りつぶしありの場合
        If rng.DisplayFormat.Interior.Color <> 16777215 Then
            'カウントアップする
            ColorCnt = ColorCnt + 1
        End If
    Next rng
End Function

使用例は、以下です。

Private Sub 使用例()
    MsgBox ColorCnt(Range("A1:C3"))
End Sub

このように、B2セルは、黄色に塗りつぶししています。C2セルは、条件付き書式で塗りつぶされいます。

使用例を実行すると、以下の通り、「2」と表示されます。

Follow me!