一、全表格颜色统计
Sub Count()
'统计全表的颜色
Dim a, b, c, d, i, j As Long '定义数据类型
a = Worksheets("VBA实现颜色统计").Range("A3").Interior.Color '将A3单元格的颜色值赋给a
b = Worksheets("VBA实现颜色统计").Range("D5").Interior.Color '将D4单元格的颜色值赋给b
c = 0 ''对c进行初始化赋值
d = 0 ''对d进行初始化赋值
For i = 2 To 13 ''从第2行到13行进行循环执行
For j = 1 To 23 ''从第1列到第23列进行循环执行
''查找的范围相当于A2:I100
If Worksheets("VBA实现颜色统计").Cells(i, j).Interior.Color = a Then
c = c + 1 ''如果找到的单元格颜色与A3单元格相同,则加1
Worksheets("VBA实现颜色统计").Range("Z1") = c ''将结果输出到Sheet1表格的J3单元格
End If
If Worksheets("VBA实现颜色统计").Cells(i, j).Interior.Color = b Then
d = d + 1 ''如果找到的单元格颜色与D4单元格相同,则加1
Worksheets("VBA实现颜色统计").Range("Z2") = d ''将结果输出到Sheet1表格的J3单元格
End If
Next
Next
End Sub
二、每一行颜色统计
Sub hangcount()
'统计每一行的颜色
Dim a, b, c, d, i, j As Long
'将A3单元格颜色复制给a
a = Sheet4.Range("A3").Interior.Color
'Debug.Print c
b = Sheet4.Range("D5").Interior.Color
'Debug.Print d
For i = 2 To 13
c = 0
d = 0
For j = 1 To 23
If Sheet4.Cells(i, j).Interior.Color = a Then
c = c + 1
Sheet4.Cells(i, 24) = c
ElseIf Sheet4.Cells(i, j).Interior.Color = b Then
d = d + 1 ''如果找到的单元格颜色与D4单元格相同,则加1
Sheet4.Cells(i, 25) = d
End If
If Len(Trim(Sheet4.Cells(i, 24).Value)) = 0 Then
Sheet4.Cells(i, 24).Value = 0
ElseIf Len(Trim(Sheet4.Cells(i, 25).Value)) = 0 Then
Sheet4.Cells(i, 25).Value = 0
End If
Next
Next
End Sub