前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA学习之 一键删除多行数据-并备份起来

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

作者头像
哆哆Excel
发布2022-10-25 11:09:16
1.8K0
发布2022-10-25 11:09:16
举报
文章被收录于专栏:哆哆Excel

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 -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档