我有一组数据,其中一列包含两个特定的值,这两个值应该在每行中交替出现。
数据如下所示:
显然我还不能发布图片。例子是这样的:
C2:断裂C3:正常C4:断裂C5:正常C6:正常C7:中断C8:正常
目标是将单元格C6填充为红色。
工作表中的列数每周都会变更,但“中断、正常、中断”的模式应该保持一致。当“中断、正常、正常”出现时,最后一个“正常”必须填入,以表示缺少中断。
我的解决方案是从C2开始,如果C3等于C2,则将C3填充为红色。然后,向下移动一行并重复检查,直到列表的末尾。此逻辑将指示当C5处于活动状态时,C6变为红色。
我没有编程背景,所以我不确定我是否以正确的方式处理这个问题,但下面是我的代码:
Sub Compare_Rows()
Range("C2").Select
If (ActiveCell.Value = ActiveCell.Offset(1, 0).Value) Then
ActiveCell.Offset(1, 0).Interior.ColorIndex = 3
End If
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
End Sub
回顾一下,我在If和Loop行添加了一个断点,程序一次选择一行单元格。在本例中,当C5处于活动状态时,If行中两个值的工具提示确认满足条件(相同值),但目标单元格保持无颜色。
ColorIndex的工具提示始终显示颜色索引“-4142”。
1条答案
按热度按时间lf5gs5x21#
请使用下一个代码。它将范围放置在数组中,以加快迭代/处理速度,并构建一个
Union
范围的重复单元格值,at once:您的程式码在到达第一个空白储存格之前,不会执行任何循环...