EXCEL如何用VBA判断一部分单元格内容相同的单元格并填充不同的颜色?懂编程语言的高手进,非常感谢!
就像图片这样,B2:K2这10个单元格里有10个数字,有一些是相同的,用VBA判断出来相同的单元格,并为它们填充相同的颜色,相同的数字用相同的颜色。十个数字最多相同也就5...
就像图片这样,B2:K2这10个单元格里有10个数字,有一些是相同的,用VBA判断出来相同的单元格,并为它们填充相同的颜色,相同的数字用相同的颜色。十个数字最多相同也就5组,所以最多用上5种颜色。
要用VBA哦,,真的是麻烦了,,非常感谢高手来帮忙。。
文件已传百度云,其实也可以不用下载,因为就只有十个数字而已。
http://pan.baidu.com/s/1sjqnZBZ
再次感谢! 展开
要用VBA哦,,真的是麻烦了,,非常感谢高手来帮忙。。
文件已传百度云,其实也可以不用下载,因为就只有十个数字而已。
http://pan.baidu.com/s/1sjqnZBZ
再次感谢! 展开
1个回答
展开全部
Sub 宏1()
Dim rga, rgb As Range
Dim i As Integer
Dim arr
arr = Array(3, 4, 6, 7, 8)
For Each rga In Range("b2:k2")
If Application.WorksheetFunction.CountIf(Range(Cells(2, 2), Cells(2, rga.Column)), rga) = 1 And Application.WorksheetFunction.CountIf(Range("b2:k2"), rga) <> 1 Then
For Each rgb In Range("b2:k2")
If rgb = rga Then rgb.Interior.ColorIndex = arr(i)
Next rgb
i = i + 1
End If
Next rga
End Sub
追问
能给代码加个注释吗?方便我理解修改,谢谢
追答
Sub 宏1()
Dim rga, rgb As Range
Dim i As Integer
Dim arr
arr = Array(3, 4, 6, 7, 8) '设置填充颜色代码
For Each rga In Range("b2:k2") '从左到右遍历b2:k2单元格
If Application.WorksheetFunction.CountIf(Range(Cells(2, 2), Cells(2, rga.Column)), rga) = 1 And Application.WorksheetFunction.CountIf(Range("b2:k2"), rga) <> 1 Then '如果该单元格(rga)在B2至当前单元格中第一次出现并且在b2:k2中出现次数大于1
For Each rgb In Range("b2:k2") '从左到右遍历b2:k2单元格
If rgb = rga Then rgb.Interior.ColorIndex = arr(i) '将等于rga的单元格填充数组第i个颜色代码表示的颜色
Next rgb
i = i + 1
End If
Next rga
End Sub
颜色代码对照
我要去吃饭了,暂时不会回答追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询