我有一堆包含多个工作表的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
答案 0 :(得分:4)
在Excel中,这可以通过将工作表复制到新工作簿来完成,而不是通过创建新工作簿然后向其添加工作表来实现。这是通过使用Worksheet.Copy
而不指定工作簿中要放置复制的工作表的位置来实现的。
更多阅读:http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx
答案 1 :(得分:1)
卫生署!
worksheet.SaveAs(Filename:=filePath)