繁体   English   中英

在vba中复制并重命名Excel ActiveSheet

[英]Copy and Rename Excel ActiveSheet in vba

我在访问中生成了一个命令按钮,它将数据导出到Excel。 目前,我正在使用此功能,并且正在尝试对其进行一些完善,以使每次导出都可以将数据导出到新表上,该表将有效地成为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函数上失败。 有任何想法吗?

Access具有内置的Command按钮过程,可以将表导出到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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM