更改函数以计算 vbRed

alter function to count vbRed

我一直在尝试改变下面的函数来计算 vbRed 而不是 'criteria':

定义的任何颜色
Function CountCcolor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountCcolor = CountCcolor + 1
    End If
Next datax
End Function 

以下变体失败:

Function CountRed(range_data As Range) As Long
    Dim datax As Range    

For Each datax In range_data
    If datax.DisplayFormat.Interior.Color = vbRed Then
        CountRed= CountRed+ 1
    End If
Next datax
End Function

要使您的变体生效,请删除 DisplayFormat

例如(这是删除了 DisplayFormat 的代码):

Function CountRed(range_data As Range) As Long
    Dim datax As Range
    For Each datax In range_data
        If datax.Interior.Color = vbRed Then
            CountRed = CountRed + 1
        End If
    Next datax
End Function