打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
指定某列字段,拆分总表为若干个分表存在当前工作簿里,只需要3秒!

有一个总表,有很多行数据,现在要根据姓名列,来拆分。同一个人的数据单独存放在一个分表里。



怎么拆?可以透视表拆,在我的课程里《Excel PPT Word小白变大神[500节]》里讲过的。课时195,ED027。



今天呢,我给大家分享一种VBA拆分法。代码照着搬过去就行了。



Sub 拆分成分表()

    

    Dim x As Long, y As Long

    Dim rng

    Dim d As Object

    

    Application.ScreenUpdating = False

    Application.DisplayAlerts = False

    

    Set d = CreateObject('scripting.dictionary')

    

    With Worksheets('明细表')

        x = .Cells(.Rows.Count, 1).End(xlUp).Row

        c = .Cells(1, .Columns.Count).End(xlToLeft).Column

        rng = .Range('B1:B' & x)

        For y = 2 To UBound(rng)

            xm = CStr(rng(y, 1))

            If Not d.exists(xm) Then

                Set d(xm) = .Range('a1').Resize(1, c)

            End If

            Set d(xm) = Union(d(xm), .Cells(y, 1).Resize(1, c))

        Next

    End With

    

    For Each ll In d.keys

        On Error Resume Next

        Set sht = Worksheets(ll)

        If Err Then

            Set sht = Worksheets.Add(after:=Worksheets(Worksheets.Count))

            sht.Name = ll

        End If

        On Error GoTo 0

        With Worksheets(ll)

            .Cells.Clear

            d(ll).Copy .Range('A1')

        End With

    Next

    

End Sub



然后,开发工具,宏(也可以按alt f8)

选择这个宏“拆分成分表”,执行

结果很快出来了


拆分出来的结果截图






本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel VBA 合并文件夹下所有EXCEL明细表
汇总分表成总表,并保留源表格式?只需一键!
将多个工作表的数据合并到一个工作表中
VBA常用案例【拿来吧你】
VBA|多个工作表中的数据自动合并到一个工作表
VBA入门之实战
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服