首页 > 解决方案 > 使用 vba 将工作表复制到其他工作簿

问题描述

我收到以下代码的“错误 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)

完整代码:

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

有人可以帮忙吗?

谢谢,弥勒佛

标签: excelvba

解决方案


您不能复制到工作簿,除非它是打开的。打开后,它的名称不包括文件的路径。所以

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

应该

Workbooks("Access_Log.xlsx")

推荐阅读