前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA拆分工作表代码

VBA拆分工作表代码

作者头像
但老师
发布2022-03-22 17:49:49
1.1K0
发布2022-03-22 17:49:49
举报

Sub Dan()

    Dim dataSRow&, strName$

    Dim Dic, Dk, strCol

    Dim i&, iRow&

    Application.DisplayAlerts = 0

    '参数调整区域

    strCol = "D"      '要拆分的字段所在的列号

    dataSRow = 2      '非标题行的数据起始行

    strName = "数据源" '数据源所在表表名

    '代码运行区域

    Set Dic = CreateObject("scripting.dictionary")

    With Sheets(strName)

        iRow = .Cells(.Rows.Count, strCol).End(3).Row

        '默认A1为数据起始单元格

        For i = dataSRow To iRow Step 1

            Dic(CStr(.Cells(i, strCol).Value)) = ""

        Next

        If Dic.Count = 0 Then

            MsgBox "无内容"

            Set Dic = Nothing

            Exit Sub

        End If

        Dk = Dic.keys

        For i = LBound(Dk) To UBound(Dk)

            On Error Resume Next

            Sheets(CStr(Dk(i))).Delete

            On Error GoTo 0

            Sheets(strName).Copy after:=Sheets(strName)

            With ActiveSheet

                .Name = Dk(i)

                iRow = .Cells(.Rows.Count, strCol).End(3).Row

                For k = iRow To dataSRow Step -1

                    If CStr(.Cells(k, strCol).Value) <> CStr(Dk(i)) Then

                        Cells(k, strCol).EntireRow.Delete

                    End If

                Next

            End With

        Next

        Application.DisplayAlerts = 1

    End With

    Set Dic = Nothing

    MsgBox "拆分完成"

End Sub

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

本文分享自 但老师 微信公众号,前往查看

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

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

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