计算空的彩色单元格(Microsoft Excel)
Cindy有一个完全格式化的工作表,该工作表在许多单元格中使用颜色。
有些单元格中有值;许多没有。她需要一种方法来计数所有空的彩色单元格,并想知道是否有一种快速的方法来执行此操作。
有几种方法可以获取所需的信息。一种方法是执行以下步骤:
。找出要在计数中使用的颜色。
。按F5。 Excel将显示“转到”对话框。
。单击特殊按钮。 Excel将显示“转到特殊”对话框。
(请参见图1。)
。选择空白单选按钮。
。单击确定。现在,工作表中的所有空白单元格都被选中。
。按Ctrl + F。 Excel将显示“查找和替换”对话框的“查找”选项卡。
。单击选项按钮以展开对话框。 (请参见图2。)
。单击格式按钮。 Excel将显示“查找格式”对话框。
。确保显示“填充”选项卡。 (请参见图3。)
。单击您要搜索的颜色。 (这是您在步骤1中确定的颜色。)
。单击“确定”关闭“查找格式”对话框。
。单击全部查找。
当您执行这些步骤时,Excel在“查找和替换”对话框的底部显示找到的与您的颜色匹配的单元格数。由于您仅在选择空白单元格的情况下开始搜索,因此,结果计数将是所有填充有颜色的空白单元格。
当然,如果您需要多次确定此计数,那么这些步骤将很快变得非常乏味。在这种情况下,最好使用宏。下面的宏逐步遍历您选择的任何范围内的每个空白单元格,并检查其是否包含图案或颜色并且为空。如果满足条件,则该颜色的计数器将增加。
Sub CountBlankColors1() Dim c As Range Dim J As Integer Dim ColorCount(56) As Long ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select For Each c In Selection With c.Interior If .Pattern <> xlNone Then If .ColorIndex <> xlNone Then If IsEmpty(c) Then ColorCount(.ColorIndex) = _ ColorCount(.ColorIndex) + 1 End If End If End If End With Next c sTemp = "These are the color counts" & vbCrLf & vbCrLf For J = 0 To 56 If ColorCount(J) > 0 Then sTemp = sTemp & "Color " & J & ": " & ColorCount(J) & vbCrLf End If Next J MsgBox sTemp End Sub
当然,您可能不想单独计算不同的颜色。
取而代之的是,您可能只想知道总共有多少个空白单元格填充有任何颜色。在这种情况下,宏变得简单得多。
Sub CountBlankColors2() Dim c As Range Dim x As Long x = 0 ActiveSheet.Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select For Each c In Selection If c.Interior.Pattern <> xlNone Then If c.Interior.ColorIndex <> xlNone Then If IsEmpty(c) Then x = x + 1 End If End If Next c MsgBox "Number of colored blank cells: " & x End Sub
应当注意,如果通过使用条件格式对单元格进行着色,则不会考虑这些方法。
(实际上,它们根本没有考虑条件格式。)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(12581)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。