Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据填充颜色计算MS Excell中的单元格数_Excel_Excel 2007 - Fatal编程技术网

如何根据填充颜色计算MS Excell中的单元格数

如何根据填充颜色计算MS Excell中的单元格数,excel,excel-2007,Excel,Excel 2007,我想根据背景颜色计算行或列中的单元格数量,例如,一系列单元格中有多少是红色背景,多少是蓝色等。看起来有很多方法可以做到这一点,使用Excel VBA,但不是本机使用COUNTIF函数。COUNTIF函数使用单元格中的数据作为标准-是否有用于确定背景颜色的数据标准也可用于COUNTIF函数?必须使用VBA(使用Alt+F11打开VBA编辑器) 首先通过运行以下子项获取颜色索引: Sub showColorIndices() For i = 1 To 56 Range("A" & i

我想根据背景颜色计算行或列中的单元格数量,例如,一系列单元格中有多少是红色背景,多少是蓝色等。看起来有很多方法可以做到这一点,使用Excel VBA,但不是本机使用COUNTIF函数。COUNTIF函数使用单元格中的数据作为标准-是否有用于确定背景颜色的数据标准也可用于COUNTIF函数?

必须使用VBA(使用Alt+F11打开VBA编辑器)

  • 首先通过运行以下子项获取颜色索引:

    Sub showColorIndices()
    For i = 1 To 56
        Range("A" & i).Interior.ColorIndex = i
        Range("B" & i).Value = " " & i
    Next
    End Sub
    
  • 您将得到如下结果:

  • 然后,您可以使用此函数计算给定颜色索引的单元格数:

    Function fnNbCellsColor(Plage As Range, ColorIndex As Integer) As Long
    
    Dim rCell As Range
    
    For Each rCell In Plage
        If rCell.Interior.ColorIndex = ColorIndex Then
            fnNbCellsColor = fnNbCellsColor + 1
        End If
    Next
    
    End Function
    
  • 要计算蓝色单元格的数量,只需在工作表中填写以下公式:

    = fnNbCellsColor(D1:D20; 5)