0

我想我可能需要一个 VBA 宏来解决这个问题。我有一个大约 10,000 行的数据集,包含 15 列值,我想要做的是,对于每一行,通过条件格式设置前三个值和后三个值来突出显示。

我已经通过使用 xl2010 中的条件格式化工具为第 1 行设置了规则,但是当我在剩余的 9,999 行上复制粘贴特殊格式时,结果是仅格式化包含在9,999 行。

我想看到每行的前 3 和后 3 的阴影,而不是整个数据集,理想情况下不复制粘贴特殊 9,999 次!

4

1 回答 1

1

宏记录功能非常适合这些类型的问题,尤其是对于初学者(我自己对 VBA 并不是那么精通)。

这将突出显示前 3 个红色值和底部 3 个蓝色值。注意我有 i 从 1 到 1000,根据需要更改(列部分相同)。

编辑:更改了您的范围,我第一次没有阅读它们。

Sub Conditions()
Dim myrange As Range


For i = 1 To 10000

Set myrange = Range("A" & i & ":" & "O" & i)
myrange.FormatConditions.AddTop10
myrange.FormatConditions(myrange.FormatConditions.Count).SetFirstPriority

With myrange.FormatConditions(1)
    .TopBottom = xlTop10Top
    .Rank = 3
    .Percent = False
End With
With myrange.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 255
    .TintAndShade = 0
End With

myrange.FormatConditions(1).StopIfTrue = False
myrange.FormatConditions.AddTop10
myrange.FormatConditions(myrange.FormatConditions.Count).SetFirstPriority

With myrange.FormatConditions(1)
    .TopBottom = xlTop10Bottom
    .Rank = 3
    .Percent = False
End With
With myrange.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 15773696
    .TintAndShade = 0
End With

myrange.FormatConditions(1).StopIfTrue = False

Next

End Sub
于 2013-09-11T20:31:23.377 回答