如何在Excel VBA中只复制一张(不是全部)到.xls文件?

请帮忙。 我想使用Excel VBA将12张其他纸张(不是原件中的所有纸张)复制到另一张.xls文件中。 下面我附加的代码工作,除了它复制所有的工作表,而不是只是一个,还有当创build新的文件打开,源文件closures。 任何人有任何build议我的代码有什么问题? 我曾尝试各种组合的工作表,表格,Activesheet但没有成功)?

Sub CopyMainFin() ' ' CreaMainFin Macro ' Dim LastCopyRow As String Dim MyStr As String MyStr = Format(Date, "mmddyyyy") LastCopyRow = “BT307” Application.ScreenUpdating = False Worksheets("MainFinal").Range("A1", LastCopyRow).Activate Worksheets("MainFinal").Range("A1",LastCopyrow).Select Worksheets("MainFinal").Range("A1", LastCopyRow).Copy ' I noticed that my rage selected ActiveSheet.SaveAs Filename:="C:\Documents and Settings\algorn\My Documents\Excel files\" & "OutputFile" & MyStr & ".xls", CreateBackup:=False 'ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\My Documents\Excel files\" & "OutputFile" & MyStr & ".xls", CreateBackup:=False = Also not working End Sub 

这将把命名表移动到一个全新的文件。 没有额外的编码需要。

 Sheets("MainFinal").Copy 

这一行应该保存你的新文件。

 Workbooks(workbooks.count).saveas _ Filename:="C:\Documents and Settings\algorn\My Documents\Excel files\" & _ "OutputFile" & MyStr & ".xls", CreateBackup:=False