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

运行以上代码

效果图


相关推荐
霸王蟹6 小时前
前端项目Excel数据导出同时出现中英文表头错乱情况解决方案。
笔记·学习·typescript·excel·vue3·react·vite
开开心心就好8 小时前
高效账号信息管理工具,可安全随机生成密码
javascript·安全·docker·智能手机·pdf·word·excel
勇太的数分之旅13 小时前
Excel大厂自动化报表实战(互联网金融-数据分析周报制作上)
金融·数据分析·自动化·excel·数据可视化
勇太的数分之旅13 小时前
Excel大厂自动化报表实战(互联网金融-数据分析周报制作中)
金融·数据分析·自动化·excel·数据可视化
一晌小贪欢14 小时前
【Python办公】使用pandas批量读取csv保存为Excel
python·excel·pandas·读取excel·python办公·excel转csv
小志开发16 小时前
Excel VBA入门指南:解锁开发工具与编写你的第一个程序
microsoft·数据分析·excel
_oP_i16 小时前
优化 Excel 文件可以提升文件性能、减少文件大小并加快计算速度
excel
Charlotte_jc16 小时前
完美解决openpyxl保存Excel丢失图像/形状资源的技术方案
开发语言·python·excel·openpyxl
板栗栗-716 小时前
Excel词典(xllex.dll)文件丢失或损坏导致功能异常?别慌!专业修复策略来了!
excel·dll·dll修复·dll错误·dll缺失