我想我可能需要一个 VBA 宏来解决这个问题。我有一个大约 10,000 行的数据集,包含 15 列值,我想要做的是,对于每一行,通过条件格式设置前三个值和后三个值来突出显示。
我已经通过使用 xl2010 中的条件格式化工具为第 1 行设置了规则,但是当我在剩余的 9,999 行上复制粘贴特殊格式时,结果是仅格式化包含在9,999 行。
我想看到每行的前 3 和后 3 的阴影,而不是整个数据集,理想情况下不复制粘贴特殊 9,999 次!
我想我可能需要一个 VBA 宏来解决这个问题。我有一个大约 10,000 行的数据集,包含 15 列值,我想要做的是,对于每一行,通过条件格式设置前三个值和后三个值来突出显示。
我已经通过使用 xl2010 中的条件格式化工具为第 1 行设置了规则,但是当我在剩余的 9,999 行上复制粘贴特殊格式时,结果是仅格式化包含在9,999 行。
我想看到每行的前 3 和后 3 的阴影,而不是整个数据集,理想情况下不复制粘贴特殊 9,999 次!
宏记录功能非常适合这些类型的问题,尤其是对于初学者(我自己对 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