更改函数以计算 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
我一直在尝试改变下面的函数来计算 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