Excel VBA学习之 一键删除多行数据-并备份起来

2022-10-25 11:09:16 浏览数 (1)

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 -

vba

0 人点赞