将表格H列和J列的数据,每行每行直接进行对比,如果该行的H列数据和J数据相同,则跳过,如果数据不同,就将该行整行标记为 #F08080 背景色
Sub CompareColumnsAndColor()
'定义工作表
Dim ws As Worksheet
Set ws = ActiveSheet
'定义行数,假设从第2行开始到最后一行
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "H").End(xlUp).Row
'定义行号变量
Dim i As Long
'循环遍历H和J列的每一行
For i = 2 To lastRow
'比较H列和J列的值
If ws.Cells(i, "H").Value <> ws.Cells(i, "J").Value Then
'如果不相同,将整行背景色设为#F08080
ws.Rows(i).Interior.Color = RGB(240, 128, 128)
End If
Next i
End Sub
上的就是批量标记不同值
下面是如何查找被标记背景颜色为 #F08080 的行数是第几行
代码如下
Sub FindColor()
' 定义工作表
Dim ws As Worksheet
Set ws = ActiveSheet
' 定义行数
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 定义行号变量
Dim i As Long
' 定义颜色(RGB(240, 128, 128)对应于#F08080)
Dim searchColor As Long
searchColor = RGB(240, 128, 128)
'定义一个字符串来存储找到的行号
Dim result As String
result = ""
' 遍历每一行
For i = 1 To lastRow
' 如果该行的背景颜色与指定颜色匹配
If ws.Rows(i).Interior.Color = searchColor Then
' 添加到结果
result = result & " " & i
End If
Next i
' 显示结果
MsgBox ("颜色#F08080的行号为:" & result)
End Sub
运行后会弹出提示框展示所在行数
那么最后还有一个小技巧。如何快速定位到多少多少行呢?
表格左上角,随便输入一个ABCD都行,然后后面是行数,例如B67727就是第67727行,输入完成后直接回车就可以定位到该行了。