我需要一个循环结构来检查一系列单元格,然后如果单元格和范围内的单元格相等,那么字体应该变成红色。我的问题是我的直到循环不会进入。这就是我现在所拥有的。 `
Dim finalrow As Long
finalrow = Worksheets("Redundancy").Cells(Worksheets("Redundancy").Rows.Count, "D").End(xlUp).Row
Dim z As Long
Dim w As Long
Dim r As Long
w = 2
r = 0
For z = 2 To finalrow
If Range("L" & z) = Range("L" & z + 1) & Range("J" & z) <> Range("J" & z + 1) Then
Do Until Range("L" & z) = Range("L" & z + 1) & Range("J" & z) <> Range("J" & z + 1)
If Cells(w, 4) = Cells(z + 1, 4 + r) Then
Cells(w, 1).Font.ColorIndex = 3
Cells(z + 1, 1).Font.ColorIndex = 3
If r = 4 Then
w = w + 1
End If
End If
r = r + 1
Loop
End If
Next z
` 我把它改成了这个,但是当它即将进入do while循环时它会一起退出循环。
`
For z = 2 To finalrow
Do While (Range("L" & z) = Range("L" & z + 1) And Range("J" & z) <> Range("J" & z + 1))
If Cells(w, 4) = Cells(z + 1, 4 + r) Then
Cells(w, 1).Font.ColorIndex = 3
Cells(z + 1, 1).Font.ColorIndex = 3
If r = 4 Then
w = w + 1
End If
End If
r = r + 1
Loop
Next z
`
答案 0 :(得分:1)
如果你这样做;
Range("L" & z) = Range("L" & z + 1) and Range("J" & z) <> Range("J" & z + 1)
您正在比较Range对象。您想要做的是比较这些范围对象中的值。所以请改用它;
Range("L" & z).value = Range("L" & z + 1).value and Range("J" & z).value <> Range("J" & z + 1).value
但是,当您使用cells(row,column)
时,您没有遇到此问题。
我很好奇,是不是可以使用conditional formatting
代替?
答案 1 :(得分:0)
使用&#39;和&#39;运营商而不是&#39;&amp;&#39;。