Excel表格宏代码----对比当前表格中每行的不同值

将表格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行,输入完成后直接回车就可以定位到该行了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值