VBA, 同一列里, 用不同的颜色标记值不一样的单元格, 相同值的单元格标记一次, 只能在最后一次出现时标上颜色
时间: 2023-09-13 09:09:44 浏览: 91
您可以通过以下步骤使用 VBA 完成您的需求:
1. 在 VBA 中选择您要标记的单元格所在的列。
2. 遍历该列中的每个单元格,比较该单元格的值与相邻单元格的值是否相等。
3. 如果相等,则跳过该单元格,继续向下遍历。
4. 如果不相等,则将该单元格标记为您所需的颜色。
5. 在遍历到该列的最后一个单元格时,如果该单元格的值与前一个单元格不相等,则将该单元格标记为您所需的颜色。
以下是一个示例代码,可以实现您的需求:
```
Sub MarkDifferentValues()
Dim lastRow As Long
Dim currentRow As Long
Dim currentValue As Variant
Dim previousValue As Variant
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For currentRow = 2 To lastRow
currentValue = ActiveSheet.Cells(currentRow, "A").Value
previousValue = ActiveSheet.Cells(currentRow - 1, "A").Value
If currentValue = previousValue Then
' Skip if the current value is the same as the previous value
Continue For
Else
' Mark the current cell with your desired color
ActiveSheet.Cells(currentRow, "A").Interior.Color = RGB(255, 0, 0)
End If
Next currentRow
' Mark the last cell with your desired color if it's different from the previous cell
If ActiveSheet.Cells(lastRow, "A").Value <> ActiveSheet.Cells(lastRow - 1, "A").Value Then
ActiveSheet.Cells(lastRow, "A").Interior.Color = RGB(255, 0, 0)
End If
End Sub
```
您可以将 `RGB(255, 0, 0)` 替换为您所需的颜色。并将代码中的 `ActiveSheet.Cells` 和 `"A"` 替换为您要标记的单元格所在的工作表和列。
阅读全文