【发布时间】:2017-03-22 22:31:42
【问题描述】:
我正在尝试一个非常简单的过程,我将一个工作表复制到一个新工作簿中,如以下代码所示:
Private Sub btn_Documents_Click()
Dim LastRow As Integer
Dim printrange As Range
Dim NewWorkbook As Workbook
Set NewWorkbook = Workbooks.Add
With NewWorkbook
.Title = "Document Register"
.SaveAs Filename:="some file path" & " Program documents status.xlsx"
End With
Workbooks("COFFIE Project Tracker V2.0.0.0").worksheets("Document Register").Copy Before:=NewWorkbook.Sheets("Sheet1")
Unload Me
frm_Control.Show
End Sub
这个确切的代码以前对我有用,但是,这次它在代码的复制行上抛出了一个下标超出范围的错误。我已经仔细检查了文件名,我从中复制的工作表的名称,它们都是正确的,所以我现在不知道为什么它会抛出这个错误。
【问题讨论】:
-
在每个工作簿上检查您的
Sheets name -
“文档登记”表在哪个工作簿中?新的,还是您正在运行的现有的?我还会在
Sheets("Document Register")之前添加工作簿名称 -
@0m3r - 就像我在问题中所说,所有工作表名称都是正确的
-
尝试完整的工作簿名称(包括文件扩展名)
-
如果您引用的工作表不存在,您将收到下标超出范围错误。我知道您说工作表名称是正确的,但您是否确认 Sheet1 在 NewWorkbook 中?