使用 Count IF critiea VBA 计算单元格颜色

使用 Count IF critiea VBA 计算单元格颜色

大家好,我有一系列数据,希望按单元格颜色进行计数,并计算其中是否包含某个值(今年 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

您已将第三个变量设置为范围。当您将其作为字符串传递时,会导致类型不匹配。如果您将日期写入单元格并将该单元格的地址传递给函数,则函数可以正常工作。

相关内容