Excel VBA学习之 一键删除多行数据-并备份起来 问题:有“源表”工作表,有几百或几千行数据,现在要在这个表中删除几十条数据,并把删除的数据备份表“备份表”中。 常规的做法是:~~~~~~想想都要很多时间 【源表】 【要删除表】 【备份表】 工作目标: 目标:一键完成工作 VBA代码如下: 代码如下: Sub de_bk() Dim arr, brr, Rng As Range Application.ScreenUpdating = False With Worksheets('要删除表') brr = .[a2:c32] '要删除的数据的数据 End With 'MsgBox 'brr22' & brr(2, 2) With Worksheets('源表') arr = .[a1:m422] '源数据的范围 'MsgBox 'arr22' & arr(2, 2) For i = 5 To UBound(arr) For j = 2 To UBound(brr) If arr(i, 1) = brr(j, 1) And arr(i, 2) = brr(j, 2) And arr(i, 3) = brr(j, 3) Then 'MsgBox arr(i, 1) & brr(j, 1) & arr(i, 2) & brr(j, 2) If Rng Is Nothing Then Set Rng = .Range('a' & i).Resize(1, 14) Else Set Rng = Union(Rng, .Range('a' & i).Resize(1, 14)) End If End If Next j Next i End With ' If Not Rng Is Nothing Then With Worksheets('备份表') Rng.Copy .[a2] '要保存的地方的开始设置 Rng.Delete End With End If End Sub 运行~~~~完成 ////// |
|