复制并重命名VBA中的Excel ActiveSheet

我正在生成一个访问命令button,将数据导出到Excel中。 目前,我有这个function工作,并试图完善它多一点,每个出口将数据导出到一个新的工作表,这将有效地是一个ActiveSheet的副本。 似乎让我失望的代码是:

'Open workbook Excel.Workbooks.Open "\\aos03s-fp04\brewsti2$\Alarms\ExportTest - " & Format(Now(), "dd-mm-yyyy") & ".xlsx", True, False 'Copy initial activesheet ActiveSheet.Copy Before:=Excel.Sheets("Sheet2") 'Rename new copied sheet ActiveSheet.Name = Me.RAW_TAG 

该代码在ActiveSheet.Copy函数上失败。 有任何想法吗?

访问有build立命令button过程导出表格到Excel。 但是,无论如何,你可以使用这个:

 Dim outputFileName As String outputFileName = CurrentProject.Path & ".xls" DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True 

试试这个,或者:

 Sub CopySheet() Dim MySheetName As String MySheetName = "TestSheet" Sheets("MasterSheet").Copy After:=Sheets("MasterSheet") ActiveSheet.Name = MySheetName End Sub 

试试这个,或者:

 Sub CopySheet() Dim MySheetName As String MySheetName = "TestSheet" Sheets("MasterSheet").Copy After:=Sheets("MasterSheet") ActiveSheet.Name = MySheetName End Sub 

假设此代码在MS Access VBA中运行,并且Excel是Excel Application对象,则需要指定ActiveSheet是该Application对象的属性:

 'Open workbook Excel.Workbooks.Open "\\aos03s-fp04\brewsti2$\Alarms\ExportTest - " & Format(Now(), "dd-mm-yyyy") & ".xlsx", True, False 'Copy initial activesheet Excel.ActiveSheet.Copy Before:=Excel.Sheets("Sheet2") 'Rename new copied sheet Excel.ActiveSheet.Name = Me.RAW_TAG