白以外の色のセルをカウントする関数
タイトルのサンプルは、以下です。条件付き書式でつけた色もカウントします。
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」と表示されます。