ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何在EXCEL表中批量依据单元格不同的内容填充不同的随机颜色

如何在EXCEL表中批量依据单元格不同的内容填充不同的随机颜色

作者:绿色风 分类: 时间:2022-08-18 浏览:333
楼主
xmyjk
Q:如何在EXCEL表中,依据单元格不同的内容,批量填充不同的随机颜色?

A:约需要三百多个颜色:
  1. Sub test()
  2. Dim arr, i&, j&, m As String, d
  3. Application.ScreenUpdating = False
  4. Set d = CreateObject("scripting.dictionary") '利用字典提取唯一的单元格内容
  5. arr = Range("b2", [a2].End(xlDown).End(xlToRight)).Value
  6. For i = 1 To UBound(arr)
  7.    For j = 1 To UBound(arr, 2)
  8.       If Not (d.exists(arr(i, j))) Then
  9.          m = Int(256 * Rnd) & "|" & Int(256 * Rnd) & "|" & Int(256 * Rnd) '字典的键值记录随机色的RGB(值)
  10.          d(arr(i, j)) = m
  11.          Range(Chr(j + 65) & i + 1).Interior.Color = RGB(Val(Split(m, "|")(0)), Val(Split(m, "|")(1)), Val(Split(m, "|")(2)))
  12.       Else
  13.          Range(Chr(j + 65) & i + 1).Interior.Color = RGB(Val(Split(d(arr(i, j)), "|")(0)), Val(Split(d(arr(i, j)), "|")(1)), Val(Split(d(arr(i, j)), "|")(2)))
  14.       End If
  15.    Next
  16. Next
  17. Application.ScreenUpdating = True
  18. End Sub

11.rar
2楼
biaotiger1
一**不重复的颜色,每次运行代码后显示不同的效果。
速度蛮快的。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap