在Excel表格里面,一些单元格常被我们填充一些颜色来进行突出显示。对于这些已经填充颜色的单元格,我们要统计某一种颜色的单元格数量时,可以使用到VBA程序来对它进行计数,然后将结果显示出来。
工具/原料
- Excel 2010
方法/步骤
- 1
打开Excel表格,点击【开发工具】,【Bisual Basic】。(如果Excel表格上面没有显示出【开发工具】,可以按照第二、三步进行操作)
- 2
点击【文件】,【选项】。
- 3
点击【自定义功能区】,在右侧将“开发工具”勾上。
- 4
在“Excel 选项”对话框里面点击【信任中心】,【信任中心设置】。(主要是查看Excel表格上面是否已经启用了宏)
- 5
点击【宏设置】,【启用所有宏】,之后点击【确定】,保存Excel表格后将它关闭、重新打开。(如果Excel表格上面已经启用宏功能,可以忽略第四、五步)
- 6
在VBA工程资源管理器里面的“VBAProject(使用VBA统计带颜色单元格数量.xlsx)”上面单击右键,选择【插入】,【模块】。("使用VBA统计带颜色单元格数量.xlsx"是当前工作薄的名称)
- 7
双击打开“模块1”,之后在代码窗口里面输入以下代码:
Sub Count()
Dim a, b, c, d, i, j As Long '定义数据类型
a = Worksheets("Sheet1").Range("A3").Interior.Color '将A3单元格的颜色值赋给a
b = Worksheets("Sheet1").Range("D4").Interior.Color '将D4单元格的颜色值赋给b
c = 0 '对c进行初始化赋值
d = 0 '对d进行初始化赋值
For i = 2 To 100 '从第2行到100行进行循环执行
For j = 1 To 9 '从第1列到第9列进行循环执行
'查找的范围相当于A2:I100
If Worksheets("Sheet1").Cells(i, j).Interior.Color = a Then
c = c + 1 '如果找到的单元格颜色与A3单元格相同,则加1
Worksheets("Sheet1").Range("J3") = c '将结果输出到Sheet1表格的J3单元格
End If
If Worksheets("Sheet1").Cells(i, j).Interior.Color = b Then
d = d + 1 '如果找到的单元格颜色与D4单元格相同,则加1
Worksheets("Sheet1").Range("J5") = d '将结果输出到Sheet1表格的J3单元格
End If
Next
Next
End Sub
- 8
点击“运行”图标或按下【F5】键,即可计算出带有填充颜色的单元格的数量。
- 9
如果Excel表格想要继续保留VBA程序的功能,则将它另存为”启用宏的工作薄“,即:点击【文件】,【另存为】,保存类型里面选择”Excel 启用宏的工作薄“。
END
注意事项
- Excel表格里面需要启用宏功能,之后才能使用VBA程序进行计算。
- 上面的程序里面可以修改指定的单元格颜色、范围进行变通使用。