前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VSTO-VB.net-拆分工作表为工作簿

VSTO-VB.net-拆分工作表为工作簿

作者头像
哆哆Excel
发布2023-11-16 13:13:46
2030
发布2023-11-16 13:13:46
举报
文章被收录于专栏:哆哆Excel哆哆Excel

近来学习VSTO,整合了不少功能,所以少发表文章了。 想整合好了用于自己的工作,方便快速。上个图吧

来个代码:吧

代码语言:javascript
复制
DisAppSet(False)
                Dim Actwb As Excel.Workbook = xlapp.ActiveWorkbook

                Dim ActSht As Excel.Worksheet = xlapp.ActiveSheet

                Dim SavePathStr As String = Actwb.Path + "\拆分结果\"

                Dim shtName As String = "射雕英雄传0"

                'If ActSht.Name <> shtName Then MsgBox("要打开指定工作表")

                Dim Mydic As New Dictionary(Of String, Excel.Range)

                Dim TitleRange As Excel.Range

                With ActSht

                    TitleRange = .Rows("1:4")

                    For index As Integer = 5 To 170

                        Dim ts As String = .Cells(index, 2).value.ToString()

                        'MsgBox(index.ToString())

                        If Mydic.ContainsKey(ts) Then

                            Mydic(ts) = xlapp.Union(Mydic(ts), .Rows(index))

                        Else

                            Mydic.Add(ts, .Rows(index))

                        End If

                    Next

                End With

                'MsgBox(Mydic.Count.ToString() + "--" + Mydic("神雕侠侣").Count.ToString())

                'Dim addwb As Excel.Worksheet = Actwb.Worksheets.Add()

                'Mydic("神雕侠侣").Copy(addwb.Cells(1, 1))

                'Mydic("神雕侠侣").EntireRow.Delete()

                For Each key In Mydic.Keys

                    'Actwb.Sheets.Add(After:=Actwb.Sheets(Actwb.Sheets.Count))

                    'ActSht.Copy()

                    Dim addwb As Excel.Worksheet = Actwb.Worksheets.Add()

                    With addwb

                        TitleRange.Copy(.Range("A1"))

                        Mydic(key).Copy()

                        .Range("A5").PasteSpecial(Paste:=Excel.XlPasteType.xlPasteAll)

                        .Name = key

                        .Move()

                    End With

                    xlapp.ActiveWorkbook.SaveAs(Filename:=SavePathStr + key)

                    xlapp.ActiveWorkbook.Close()

                Next

                DisAppSet(True)

                MsgBox("完成")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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