简体   繁体   English

使用VBA将工作表复制到其他工作簿

[英]copy sheet to other workbook using vba

I am getting "error 9: subscript out of range" for the below code at line 我在下面的代码行中遇到“错误9:下标超出范围”

ActiveWorkbook.Worksheets("Daily Allocation").Copy After:=Workbooks("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\Access_Log.xlsx").Sheets(Workbooks("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\Access_Log.xlsx").Sheets.Count)

Complete code: 完整的代码:

Sub DASaveAs()
'MsgBox "SaveAs"
Dim namedate As String
namedate = Date
Application.ScreenUpdating = False

ActiveWorkbook.Worksheets("Daily Allocation").Select
ActiveWorkbook.Worksheets("Daily Allocation").Copy After:=Workbooks("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\Access_Log.xlsx").Sheets(Workbooks("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\Access_Log.xlsx").Sheets.Count)
ActiveSheet.Name = namedate
'Workbooks.Open Filename:="\\Bmcstr01\grp\SRV\Allsrv\2011 CRU\COMPLAINTS ADMIN FOLDER\Daily Allocation.xlsx"
'ActiveWorkbook.Worksheets("Daily Allocation").SaveAs ("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\ER Complaints - " & Format(Now(), "DD.MM.YYYY hhmm AMPM") & ".xlsx")
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

Can anyone please help? 谁能帮忙吗?

Thanks, Maitreya 谢谢,弥勒

You can't copy to a workbook unless it's open. 除非它是打开的,否则您不能将其复制到工作簿中。 Once it's open its name does not include the path to the file. 打开后,其名称将不包含文件的路径。 so 所以

 Workbooks("\\Bmcstr01\grp\SRV\Allsrv\NEW Complaints Logger\GI Complaints\Spreadsheets\Archieve\Access_Log.xlsx")

Should be 应该

Workbooks("Access_Log.xlsx")

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

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