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

运行以上代码

效果图


相关推荐
CHEN5_022 小时前
【CouponHub项目开发】EasyExcel解析Excel并使用线程池异步执行和延时队列兜底
java·数据库·excel
我想起个名字2 小时前
sqlserver2008导入excel表数据遇到的问题
sqlserver·excel
Metaphor6922 小时前
Java 如何在 Excel 中添加超链接?使用 Spire.XLS for Java 轻松实现
java·经验分享·excel
JAVA不会写4 小时前
EasyExcel:阿里开源的高效 Excel 处理工具,轻松解决 POI 内存溢出问题
excel
小雪人82810 小时前
wps的excel如何转为谷歌在线表格
excel·wps
Brown.alexis12 小时前
处理省市区excel数据加工成SQL
python·sql·excel
瓶子xf16 小时前
第三家公司虽然用了powerbi,但更适合用excel
excel·powerbi
揭老师高效办公1 天前
打开多个Excel文件后快速关闭所有的文档,并且退出Excel应用
word·powerpoint·excel
l1t1 天前
美团龙猫(longcat.AI)编写的利用二分查找优化Excel的sheet.xml指定范围输出C程序
xml·c语言·excel·解析器
小羔羊的官方学习账号1 天前
整理期初数据用到的EXCEL里面的函数操作
excel·sap·期初数据整理