【255悬赏】【Excel】如何用高亮显示连续的重复行

已排序过.

要求如下:
不重复的行,保持默认颜色:黑色
对于重复的行,使用2种或多种颜色来用高亮显示。

就像这样:
A
B <-用红色高亮显示
B <-用红色高亮显示
C <- 用紫色高亮显示
C <- 用紫色高亮显示
C <- 用紫色高亮显示
D <-用红色高亮显示
D <-用红色高亮显示
E
F <-用红色高亮显示
F <-用红色高亮显示
G <- 用紫色高亮显示
G <- 用紫色高亮显示
H
I <-用红色高亮显示
I <-用红色高亮显示
J

问: 为什么一定要用至少2种颜色来高亮显示呢?
答: 因为不希望看到 一大片都是高亮的. 得区分连续的高亮.

用"条件格式"似乎不能实现。 是不是得通过VBA来实现?求助大神.

我就不信条件格式不行,我有个不成熟的想法:

第1步,先用COUNTIF函数,判断每个数重复个数

第2步,用MATCH函数匹配每个数第一次出现时的行号

第3步,用IF函数,如果没有重复数,返回结果设为""空值,如果是重复数,返回第一次出现的行号,得到数组{"',2,2,4,4,4,7,7,"",10,10,12,12,"",15,15,""}

第4步,利用MODE.MULT函数,得到不重复的行号的数组{2,4,7,10,12,15}

第5步,用SMALL函数取值,取第1、3、5.。。。个数{2,7,12}和第2、4、6.。。。个数{4,10,15},利用奇偶项将他们的行号区分开来

第6步,建两个条件格式判定,如果重复项行号是上述数组奇数项就标红色,偶数项标紫色


想法就是如此,我自己觉得可行,至于我为什么没有付诸实践。。。。

那是因为。。。。。我的WPS没有MODE.MULT这个函数。。。。

出师未捷身先死......

追问

你能不用金山公司的软件吗?
你能用微软公司的软件吗?

追答

WPS很好用啊,特意弃了OFFICE用的WPS,现在你劝我用回微软,已经回不去了。。。
刚刚试了下同事的电脑,都没有MODE.MULT这个函数,查了下是2010版本以上才有
或许有其他方法可以解决吧,等别人的答案咯,我也再想想其他办法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-20
Sub 底色1()
Dim Rng As Range, Arr, i&, i1&, j&, Colmn&
i1 = 1: j = 0: Colmn = 2
Arr = Array(vbRed, vbYellow)
For i = 2 To 20
If Cells(i, Colmn) <> Cells(i - 1, Colmn) Then
If i - i1 = 1 Then
i1 = i: j = 0
Else
Range(Cells(i1, Colmn), Cells(i - 1, Colmn)).Interior.Color = Arr(j)
j = 1 - j
i1 = i
End If
End If
Next i
End Sub
具体颜色及起止行号自己更改,注意尾部要多一行。本回答被提问者采纳
相似回答