美文网首页
Excel分割成多个文件

Excel分割成多个文件

作者: 旻璿 | 来源:发表于2021-07-20 08:27 被阅读0次

    一个几十万行的Excel,文件大小500M,普通电脑打不开,通过新建一个宏来解决。
    方法:菜单:工具->宏->Visual Basic 编辑器->新建模块->将代码贴进去,点击执行按钮即可。
    使用时,根据实际情况修改如下几个变量。
    1、path,拆分后分成几个文件存在哪
    2、i,每个文件存多少行数据
    3、Range里的BS1、BS,改为实际表格的最后一列

    参考文章:https://zhuanlan.zhihu.com/p/81580481?from_voters_page=true,略微修改。

    Sub splitFile()
        Dim n As Long
        Dim i As Long
        Dim k As Long
        Dim path As String
        Dim filename As String
        path = "/Users/macos/Downloads/"     '预定义的存储路径
        filename = "分割文件"    '预定义的文件名
        Application.ScreenUpdating = False
        i = 100000                    '分页数据条目数
        k = 0                     '循环执行次数,用于标识文件顺序
        For n = 1 To Cells(1, 1).End(xlDown).Row Step i        '开始循环到数据表底部,步长为分页条目数
            Range("A1:BS1,A" & n + 1 & ":BS" & n + i).Select     '每次均选择复制固定的表头和本次循环内的数据行
            Selection.Copy
            Workbooks.Add   '新建工作簿
             Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False     '特殊粘贴:只粘贴数值
            k = k + 1
            ActiveWorkbook.SaveAs filename:=path & filename & k & ".xlsx", FileFormat:= _
            xlOpenXMLWorkbook, CreateBackup:=False   '将文件按命名规则另存至指定位置
            ActiveWindow.Close     '关闭已经生成的文件
        Next n
        MsgBox "分割完毕!", vbDefaultButton1, "提示"
        Application.ScreenUpdating = True
    End Sub
    

    相关文章

      网友评论

          本文标题:Excel分割成多个文件

          本文链接:https://www.haomeiwen.com/subject/ipllmltx.html