Excel表格代码-批量去重

如图,有A列数据和F列数据,要求将A列中所有与F列中的相同的数据对应的行直接删除。

A列有1600行,F列有1000行左右,A列包含F列。

代码如下:

Sub DeleteMatchingRows()
    Dim ws As Worksheet
    Dim lastRowA As Long, lastRowF As Long, i As Long, j As Long
    Dim matchFound As Boolean
    
    Set ws = ActiveSheet
    With ws
        lastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
        lastRowF = .Cells(.Rows.Count, "F").End(xlUp).Row
        
        Dim dataA() As Variant
        Dim dataF() As Variant
        
        '将A列和F列的数据分别存储到数组中
        dataA = .Range("A1:A" & lastRowA).Value
        dataF = .Range("F1:F" & lastRowF).Value
        
        '从底部向上遍历A列
        For i = lastRowA To 1 Step -1
            matchFound = False
            '检查F列中是否存在与A列当前单元格相同的数据
            For j = 1 To lastRowF
                If dataA(i, 1) = dataF(j, 1) Then
                    matchFound = True
                    Exit For
                End If
            Next j
            '如果找到匹配,删除A列中的行
            If matchFound Then
                .Rows(i).Delete
            End If
        Next i
    End With
End Sub

运行完代码后,A列删除了1000多条数据。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值