Excel按固定行数拆分为多个Excel

步骤 1

打开VBA编辑器

打开你的Excel文件。

按 Alt + F11 打开VBA编辑器。

在VBA编辑器中,点击 插入 -> 模块,创建一个新的模块。

步骤 2:

编写VBA代码

在新创建的模块中输入以下VBA代码:

xml 复制代码
Sub SplitWorkbookByRows()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets(1) '假设要拆分的工作表是第一个工作表
    Dim totalRows As Long
    totalRows = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row '获取总行数
    Dim rowsPerFile As Long
    rowsPerFile = InputBox("请输入每个文件包含的行数:") '用户输入每份文件的行数
    Dim fileCounter As Integer
    fileCounter = 1
    Dim startRow As Long
    startRow = 2 '假设第一行是标题行,从第二行开始拆分
    Dim endRow As Long
    Dim newWb As Workbook
    
    Do While startRow <= totalRows
        endRow = startRow + rowsPerFile - 1
        If endRow > totalRows Then
            endRow = totalRows
        End If
        
        '复制数据到新工作簿
        Set newWb = Workbooks.Add
        ws.Rows("1:1").Copy Destination:=newWb.Sheets(1).Range("A1") '复制标题行
        ws.Rows(startRow & ":" & endRow).Copy Destination:=newWb.Sheets(1).Range("A2")
        
        '保存新工作簿
        newWb.SaveAs ThisWorkbook.Path & "\Split_" & fileCounter & ".xlsx"
        newWb.Close
        
        startRow = endRow + 1
        fileCounter = fileCounter + 1
    Loop
    
    MsgBox "拆分完成!"
End Sub

运行以上代码

效果图


相关推荐
csdn_aspnet3 小时前
.NetCore 使用 NPOI 读取带有图片的excel数据
excel·.netcore
幽兰的天空6 小时前
实现类似Excel的筛选
excel
宁静@星空10 小时前
006-excel数据输出insert语句
数据库·mysql·excel
流形填表10 小时前
Word表格批量提取数据到Excel,批量提取,我爱excel
word·excel
专注VB编程开发20年12 小时前
用Excel开发进销存软件,office Access开发ERP管理软件
数据库·excel·erp·进销存·access
东京老树根12 小时前
Excel 技巧09 - 通过IF筛选数据,并给对象单元格赋值背景色 (★)
笔记·学习·excel
86Eric14 小时前
Excel多层嵌套IF条件写法
excel·if嵌套·vlookup
qq_4298565717 小时前
excel 整理表格,分割一列变成多列数据
excel
六--七17 小时前
WPS excel使用宏编辑器合并 Sheet工作表
excel·wps
??? Meggie1 天前
【Python】使用python 对excel文件进行加密
开发语言·python·excel