VBA一个sheet多行按照固定行数分割到多个excel中

Sub SplitWorkbook()

    Dim SourceSheet As Worksheet
    Set SourceSheet = ThisWorkbook.Sheets("Sheet1") ' Change "Sheet1" to your sheet name

    Dim CurrentRow As Long
    Dim StartRow As Long
    Dim EndRow As Long
    Dim TargetWorkbook As Workbook
    Dim TargetSheet As Worksheet
    Dim Index As Integer
    
    CurrentRow = 2 ' Assuming row 1 has headers
    StartRow = 2
    Index = 1
    
    While CurrentRow <= SourceSheet.UsedRange.Rows.Count
        
        Set TargetWorkbook = Application.Workbooks.Add
        Set TargetSheet = TargetWorkbook.Sheets(1)
        
        If CurrentRow + 499 > SourceSheet.UsedRange.Rows.Count Then
            EndRow = SourceSheet.UsedRange.Rows.Count
        Else
            EndRow = CurrentRow + 499
        End If
        
        SourceSheet.Rows(1).Copy TargetSheet.Rows(1)
        SourceSheet.Rows(StartRow & ":" & EndRow).Copy TargetSheet.Rows(2)
        TargetWorkbook.SaveAs "D:\Temp\File_" & Index & ".xlsx" ' change the file path as needed
        TargetWorkbook.Close SaveChanges:=True
        
        CurrentRow = EndRow + 1
        StartRow = CurrentRow
        Index = Index + 1
        
    Wend

End Sub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个将WORD所有表格数据复制到一个Excel SheetVBA代码示例: ``` Sub CopyWordTableToExcel() Dim wdDoc As Object Dim wdTable As Object Dim xlApp As Excel.Application Dim xlWb As Excel.Workbook Dim xlWs As Excel.Worksheet Dim i As Integer Dim j As Integer Dim n As Integer '打开WORD文档 Set wdDoc = GetObject("C:\your\file\path.docx") '创建一个新的Excel应用程序 Set xlApp = CreateObject("Excel.Application") '打开一个新的Excel工作簿 Set xlWb = xlApp.Workbooks.Add '选择第一个工作表 Set xlWs = xlWb.Worksheets(1) '遍历WORD文档的所有表格 For i = 1 To wdDoc.Tables.Count Set wdTable = wdDoc.Tables(i) '将表格数据复制到Excel工作表 For j = 1 To wdTable.Rows.Count For n = 1 To wdTable.Columns.Count xlWs.Cells(j, n) = wdTable.Cell(j, n).Range.Text Next n Next j '在Excel工作表插入一个空行,以便区分不同的表格数据 xlWs.Rows(j).Insert Next i '保存Excel工作簿 xlWb.SaveAs "C:\your\file\path.xlsx" '关闭Excel应用程序 xlApp.Quit '释放资源 Set wdDoc = Nothing Set wdTable = Nothing Set xlWs = Nothing Set xlWb = Nothing Set xlApp = Nothing End Sub ``` 请将代码的文件路径替换为您的WORD文档路径和Excel文件路径,并在VBA编辑器运行该代码。该代码将遍历WORD文档的所有表格,并将表格数据复制到一个新的Excel工作簿的第一个工作表。每个表格数据之间将插入一个空行以便区分。最后,将Excel工作簿保存到指定路径,并关闭Excel应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值