Excel VBA – 不同颜色的颜色重复范围

我在工作中需要重复执行一些大的excel文件,并决定首次使用VBA来使我的生活更轻松。 我在互联网上find了一个代码,修改了它并将其修改为我自己的工作表,并且工作正常。

我有一列ID,我需要find重复ID的范围和组合他们。 到目前为止,我手动做了这个,花了很多时间。 此代码有效地为重复范围着色,但每次出现新的范围时不会切换到不同的颜色。

假设我有这个:001 001 001 002 002

它会将001以蓝色着色,并将以蓝色着色002。 并不总是,但它发生,我不希望这一点。

这里是代码:

Sub ColourDuplicates() Dim Rng As Range Dim Cel As Range Dim Cel2 As Range Dim Colour As Long Set Rng = Worksheets("Sheet1").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row) Rng.Interior.ColorIndex = xlNone Colour = 6 For Each Cel In Rng If WorksheetFunction.CountIf(Rng, Cel) > 1 And Cel.Interior.ColorIndex = xlNone Then Set Cel2 = Rng.Find(Cel.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchDirection:=xlNext) If Not Cel2 Is Nothing Then Firstaddress = Cel2.Address Do Cel.Interior.Color = Colour Cel2.Interior.Color = Colour Set Cel2 = Rng.FindNext(Cel2) Loop While Firstaddress <> Cel2.Address End If Colour = Colour + 1 End If Next End Sub 

那么,每次出现一组新值时,是否可以使其变为不同的颜色?

非常感谢你 !

也许你想探索一个“Worksheet_OnChange”? 如果是纯粹的手工,它会很好地完成这项工作