美好的一天,Excel(条件格式)
我有一个数据集,看起来如下(示例)。我需要突出显示A1和A2之间的最高数字,然后是A3和A4之间的最高值,A5和A6之间的最高值,等等。 B列和C列相同。 我想以绿色突出显示最高,红色显示最低?有任何想法吗。这是一个很大的数据集,手动将花费太长时间。
美好的一天,Excel(条件格式)
我有一个数据集,看起来如下(示例)。我需要突出显示A1和A2之间的最高数字,然后是A3和A4之间的最高值,A5和A6之间的最高值,等等。 B列和C列相同。 我想以绿色突出显示最高,红色显示最低?有任何想法吗。这是一个很大的数据集,手动将花费太长时间。
答案下面链接的问题是怎么样开始回答你的问题的。你需要用VBA做这件事,做这样的事情:
Do While i <= cols
Do While j <= rows
//set conditional formatting for range ij:i(j+1)
j = j + 2
Loop
Loop
我会看看我是否可以为你创建一个特定的脚本。
Format Top 3 and Bottom 3 Values for each row
编辑: 我测试过这只是有点上的一个小数据集,我创建。它似乎按要求工作。您需要调整的是“cols”和“rows”,以准确表示您的数据集。
编辑2:代码已稍作修改,以解决我发现的一个轻微问题。
Sub Conditions()
Dim i As Integer, j As Integer, cols As Integer, rows As Integer
cols = 2
rows = 10
i = 1
j = 1
Do While i <= cols
Do While j <= rows
With Range(Cells(j, i), Cells(j + 1, i)).FormatConditions.Add(xlTop10)
.SetFirstPriority
.TopBottom = xlTop10Top
.Rank = 1
.Percent = False
With .Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(0, 255, 0)
.TintAndShade = 0
End With
End With
j = j + 2
Loop
i = i + 1
j = 1
Loop
i = 1
j = 1
Do While i <= cols
Do While j <= rows
With Range(Cells(j, i), Cells(j + 1, i)).FormatConditions.Add(xlTop10)
.SetFirstPriority
.TopBottom = xlTop10Bottom
.Rank = 1
.Percent = False
With .Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 0, 0)
.TintAndShade = 0
End With
End With
j = j + 2
Loop
i = i + 1
j = 1
Loop
End Sub
谢谢你,那太棒了。 – Celeste
我用一个VBA脚本编辑了我的答案,我通过其他帖子将它们拼凑在一起。希望这对你有用。 –
发现一个创建了许多过量条件格式规则的小错误已经修复。 –
您是否尝试过使用条件格式?您可能需要一个或两个公式来检查A1是否大于A2且A2小于A1 –
我同意这样做,但是,如何将公式添加到每两个块?因为如果我拖动公式,它会检查A2和A3之间,而我希望它检查A1和A2,然后A3和A4,所以基本上它应该跳过一条线。有没有一个宏可以帮助我呢? – Celeste