大家好,我有一系列数据,希望按单元格颜色进行计数,并计算其中是否包含某个值(今年 4 月)。这是我当前的公式
=CountCcolorIF('2019-2020'!I3:AT3,'2019-2020'!I1,"15/04/2020")
目前只测试单个日期,而不是整个月
这是我的 VBA 代码
Function CountCcolorIF(range_data As Range, criteria As Range,
cellvalue As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
Application.Volatile
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor And datax.Value =
cellvalue.Value Then
CountCcolorIF = CountCcolorIF + 1
End If
Next datax
End Function
据我所知,一切都应该按照我的意图运行,但事实并非如此。有人能解释一下为什么吗?
答案1
您已将第三个变量设置为范围。当您将其作为字符串传递时,会导致类型不匹配。如果您将日期写入单元格并将该单元格的地址传递给函数,则函数可以正常工作。