vba将excel按照某一列拆分成多个文件

 更新时间:2023年06月05日 08:43:42   作者:ntotl  
本文主要介绍了vba将excel按照某一列拆分成多个文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>

1.打开目标excel,按alt + f11键打开VBE窗口

2.选择插入->模块粘贴下面代码到编辑器中

Sub 保留表头拆分数据为若干新工作簿()

    Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%
    c = Application.InputBox("请输入拆分列号", , 4, , , , , 1)
    If c = 0 Then Exit Sub
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    arr = [a1].CurrentRegion
    lc = UBound(arr, 2)
    Set rng = [a1].Resize(, lc)
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To UBound(arr)
        If Not d.Exists(arr(i, c)) Then
            Set d(arr(i, c)) = Cells(i, 1).Resize(1, lc)
        Else
            Set d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))
        End If
    Next
    k = d.Keys
    t = d.Items
    For i = 0 To d.Count - 1
        With Workbooks.Add(xlWBATWorksheet)
            rng.Copy .Sheets(1).[a1]
            t(i).Copy .Sheets(1).[a2]
            .SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls"
            .Close
        End With
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "完毕"
End Sub

3.保存后回到excel文件,选择开发工具->插入->表单控件(按钮(窗体控件)),没有开发工具选项的在设置里面打开选项如图

4.按住鼠标左键不动然后在excel中划定一个按钮区域,然后会自动弹出的窗口,选择刚才保存的宏,点击确定

5.鼠标从按钮上面移开  ,然后点击按钮输入要列号,就是根据哪列的数据进行拆分文件,下图我们输入4就是按照班级进行拆分,根据不同的班级拆分成不同的文件

6.点击确定后,如果弹出完毕提示框代表拆分完成

7.到源文件所在的目录文件中查看拆分的文件

到此这篇关于vba将excel按照某一列拆分成多个文件的文章就介绍到这了,更多相关vba excel拆分内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • VBA 浏览文件夹对话框调用的几种方法

    VBA 浏览文件夹对话框调用的几种方法

    VBA 浏览文件夹对话框调用实现代码。大家可以根据需要选择。
    2009-07-07
  • Excel·VBA合并工作簿的实现示例

    Excel·VBA合并工作簿的实现示例

    本文主要介绍了Excel·VBA合并工作簿的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • vba 获取PPT幻灯片中的所有标题的代码

    vba 获取PPT幻灯片中的所有标题的代码

    有时候需要获取PPT幻灯片中的所有标题,如果手工的复制肯定很慢,那么可以用vba批量获取,提高工作效率。
    2010-08-08
  • VBA解决Windows空当接龙的617局

    VBA解决Windows空当接龙的617局

    本文给大家分享的是使用VBA解决Windows空当接龙的617局的方法和思路,有需要的小伙伴可以参考下。
    2015-09-09
  • 关于vba代码运行时错误1004 应用程序定义或对象定义错误问题

    关于vba代码运行时错误1004 应用程序定义或对象定义错误问题

    这篇文章主要介绍了vba代码运行时错误1004 应用程序定义或对象定义错误,经过一系列问题调查发现是工作表中数据存在异常,需要的朋友可以参考下
    2022-10-10
  • VBA实现合并具有文本框的Word文档

    VBA实现合并具有文本框的Word文档

    这篇文章主要为大家详细介绍了如何基于VBA语言,对大量含有图片、文本框与表格的Word文档加以批量自动合并,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • vba将excel按照某一列拆分成多个文件

    vba将excel按照某一列拆分成多个文件

    本文主要介绍了vba将excel按照某一列拆分成多个文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2023-01-01
  • VBA中的循环代码的使用

    VBA中的循环代码的使用

    本文主要介绍了VBA中的循环代码的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • UserAccessList 集合的功能(VBA)

    UserAccessList 集合的功能(VBA)

    可用 ProtectedRange 对象的 Users 属性返回一个 UserAccessList 集合。
    2009-07-07
  • VBA实现全文件快速替换的示例代码

    VBA实现全文件快速替换的示例代码

    要想一下子就替换掉很多个WORD文档中的内容,我们可以使用VBA的办法,本文主要介绍了VBA实现全文件快速替换的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08

最新评论