Gowtham 的回答很棒,如果没有他们,我就不会想出下面的答案!我同样需要独特的颜色分配,但是,我需要比 colorindex 提供的 56 种颜色更多的变化,所以我稍微修改了 Gowtham 的代码,通过使用 RandBetween 和 RGB 来提供更多的可变性,通过随机红色创建随机颜色,蓝色和绿色值。
我将颜色范围保持在 120 和 255 之间,因为某些较低的值可能会导致单元格太暗而无法阅读,但您当然可以根据自己的喜好进行自定义。下面的代码当然可以改进,因为我不是专家,但它能够获得所需的 100 多种颜色。
编辑:我会补充一点,RGB 值可能会重叠。我只需要对视觉辅助进行颜色编码;但如果您需要严格的唯一颜色值,此代码将无法保证。
Dim rCount, RandCol1, RandCol2, RandCol3, i As Long
rCount = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To rCount
If Sheet1.Cells(i, 1) = Sheet1.Cells(i + 1, 1) Then
Sheet1.Cells(i + 1, 1).Interior.Color = RGB(RandCol1, RandCol2, RandCol3)
Else
If Sheet1.Cells(i + 1, 1) <> "" Then
RandCol1 = WorksheetFunction.RandBetween(120, 255)
RandCol2 = WorksheetFunction.RandBetween(120, 255)
RandCol3 = WorksheetFunction.RandBetween(120, 255)
Sheet1.Cells(i + 1, 1).Interior.Color = RGB(RandCol1, RandCol2, RandCol3)
End If
End If
Next i