我正在尝试将一行从一张纸复制到另一张纸,然后尝试根据单元格值更改多个单元格颜色。然而,最后一个单元格是唯一改变颜色的单元格。我是 VBA/宏新手。下面是代码。谢谢你!
For k = 1 To column_count
If ws1.Cells(i, k).value <> ws2.Cells(j, k).value Or (Not IsEmpty(ws1.Cells(i, k).value) And IsEmpty(ws2.Cells(j, k).value)) Or (IsEmpty(ws1.Cells(i, k).value) And Not IsEmpty(ws2.Cells(j, k).value)) Then
ws1.Rows(i).Copy Destination:=ws3.Rows(lastRow3)
'change the cell color to red
ws3.Rows(lastRow3).Cells(1, k).Interior.color = RGB(255, 0, 0)
End If
Next k
您可能会多次复制整行,因此每次复制时,您都会覆盖以前的任何红色填充,并且只有最后填充的单元格才会保持红色。
您只需将该行复制一次:
这是由覆盖先前更改的复制语法引起的。