下标超出范围 - 将工作表复制到新工作簿 Excel
Subscript out of range - copy worksheet to new workbook Excel
我正在尝试非常简单的过程,我正在将一个作品sheet复制到一个新的工作簿,如以下代码所示:
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
这个确切的代码以前对我有用,但是,这次它在代码的复制行上抛出下标超出范围错误。我已经仔细检查了文件名,我正在复制的 sheet 的名称,它们都是正确的,所以我现在不知道它为什么会抛出这个错误。
为什么不直接将工作表复制到新工作簿(无需手动创建目标工作簿)?
Workbooks("COFFIE Project Tracker V2.0.0.0").worksheets("Document Register").Copy
with activeworkbook
.Title = "Document Register"
.SaveAs Filename:="some file path" & " Program documents statusx", FileFormat:=xlOpenXMLWorkbook
end with
请注意,我正在使用 .SaveAs 的 FileFormat
参数并丢弃文件名中的文件扩展名。
如果您需要将 NewWorkbook
工作簿对象用于您所显示的内容之外的其他内容,很容易将其设置为您在 copy-to-new-workbook-on 上创建的活动工作簿-苍蝇。
我正在尝试非常简单的过程,我正在将一个作品sheet复制到一个新的工作簿,如以下代码所示:
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
这个确切的代码以前对我有用,但是,这次它在代码的复制行上抛出下标超出范围错误。我已经仔细检查了文件名,我正在复制的 sheet 的名称,它们都是正确的,所以我现在不知道它为什么会抛出这个错误。
为什么不直接将工作表复制到新工作簿(无需手动创建目标工作簿)?
Workbooks("COFFIE Project Tracker V2.0.0.0").worksheets("Document Register").Copy
with activeworkbook
.Title = "Document Register"
.SaveAs Filename:="some file path" & " Program documents statusx", FileFormat:=xlOpenXMLWorkbook
end with
请注意,我正在使用 .SaveAs 的 FileFormat
参数并丢弃文件名中的文件扩展名。
如果您需要将 NewWorkbook
工作簿对象用于您所显示的内容之外的其他内容,很容易将其设置为您在 copy-to-new-workbook-on 上创建的活动工作簿-苍蝇。