You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求编写脚本:比对Sheet2与Sheet1数据并删除重复行

Excel VBA脚本:删除Sheet1中与Sheet2!B3重复的行
  • 以下是实现需求的VBA代码,直接复制到Excel的VBA编辑器就能用:
Sub DeleteDuplicateRows()
    Dim targetValue As Variant
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    ' 定义目标工作表
    Set ws1 = ThisWorkbook.Worksheets("Sheet1")
    Set ws2 = ThisWorkbook.Worksheets("Sheet2")
    
    ' 获取Sheet2的B3单元格值
    targetValue = ws2.Range("B3").Value
    
    ' 如果B3为空,直接退出
    If IsEmpty(targetValue) Then
        MsgBox "Sheet2的B3单元格为空,无法执行查找!"
        Exit Sub
    End If
    
    ' 获取Sheet1中A列最后一行的行号
    lastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
    
    ' 从最后一行往上遍历(避免删除行导致索引混乱)
    For i = lastRow To 1 Step -1
        ' 对比当前行A列的值和目标值
        If ws1.Cells(i, "A").Value = targetValue Then
            ' 删除该行
            ws1.Rows(i).Delete
        End If
    Next i
    
    MsgBox "已完成重复行删除操作!"
End Sub
  • 使用步骤:

    1. 打开你的Excel文件,按下Alt + F11打开VBA编辑器
    2. 右键点击左侧工作簿名称,选择「插入」→「模块」
    3. 将上面的代码粘贴到模块窗口中
    4. 按下F5运行脚本,或回到Excel界面通过「开发工具」→「宏」选择DeleteDuplicateRows执行
  • 注意事项:

    • 操作前建议备份文件,避免误删数据
    • 如果Sheet1/Sheet2的名称有改动,要修改代码中Worksheets("Sheet1")和Worksheets("Sheet2")里的名称

内容的提问来源于stack exchange,提问作者DragonflyTech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:06:43