分享

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

 L罗乐 2019-03-17

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

运行~~~~完成

//////

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多