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
运行~~~~完成
//////
- END -