代码之家  ›  专栏  ›  技术社区  ›  Chris Burgess

如何将Excel工作表导出到新工作簿中

  •  1
  • Chris Burgess  · 技术社区  · 15 年前

    我有一堆Excel工作簿,其中包含多个工作表。我想循环浏览每个工作簿,并将每个工作表导出到它自己的新工作簿中。我希望每个新工作簿中有一个工作表。

    以下是我目前为止的情况:

       Sub ExportWorksheet(ByVal worksheet As Excel.Worksheet, ByVal filePath As String)
          Dim xlApp As Excel.Application = New Excel.ApplicationClass
          Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add
          worksheet.Select()
          worksheet.Copy()
          xlWorkBook.Worksheets.Add()
          worksheet.Paste(Destination:=xlWorkBook)
    
          xlWorkBook.SaveAs(Filename:=filePath)
    
          xlWorkBook.Close(False)
          xlApp.Quit()
       End Sub
    
    2 回复  |  直到 12 年前
        1
  •  4
  •   Lunatik    15 年前

    在Excel中,这可以通过将工作表复制到新工作簿来完成,而不是通过创建新工作簿然后将工作表添加到新工作簿来完成。这是通过使用 Worksheet.Copy 不指定要在工作簿中放置复制工作表的位置。

    更多阅读: http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx

        2
  •  1
  •   Siddharth Rout    12 年前

    呸!

    worksheet.SaveAs(Filename:=filePath)