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

我有一堆包含多个工作表的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 

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

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

卫生署!

worksheet.SaveAs(Filename:=filePath)