Excel 运行时错误9
我已经创建了一个名为“airhurs”的工作簿&来自另一个工作簿的日期。我想在整个项目中使用此工作簿。下面的代码可以工作,但我一直收到运行时错误9“下标超出范围” 我正在尝试为报表创建工作簿,并使数据保持原始形式。新工作簿将用于许多模块中。运行时错误似乎发生在Excel 运行时错误9,excel,runtime-error,vba,Excel,Runtime Error,Vba,我已经创建了一个名为“airhurs”的工作簿&来自另一个工作簿的日期。我想在整个项目中使用此工作簿。下面的代码可以工作,但我一直收到运行时错误9“下标超出范围” 我正在尝试为报表创建工作簿,并使数据保持原始形式。新工作簿将用于许多模块中。运行时错误似乎发生在SET WSD3=Workbook处 也许我在创建公共工作簿时走错了方向。谢谢你的帮助 Option Explicit Public WSD3 As Workbook Public Sub addNewWorkBook() Dim N
SET WSD3=Workbook
处
也许我在创建公共工作簿时走错了方向。谢谢你的帮助
Option Explicit
Public WSD3 As Workbook
Public Sub addNewWorkBook()
Dim NewName As String
Application.DisplayAlerts = False
NewName = "AirHours" & Workbooks("AirTimeWorkBookBeta").Worksheets("Data").Cells(2, 1).Value
Workbooks.Add
ActiveWorkbook.SaveAs NewName
Set WSD3 = Workbooks("NewName")
End Sub
打开新工作簿时,将WSD3设置为新工作簿
Option Explicit
Public WSD3 As Workbook
Public Sub addNewWorkBook()
Dim NewName As String
Application.DisplayAlerts = False
NewName = "AirHours" & Workbooks("AirTimeWorkBookBeta").Worksheets("Data").Cells(2, 1).Value
Set WSD3 = Workbooks.Add
WSD3.SaveAs NewName
End Sub
除了scott的建议之外,部分问题在于,当使用工作簿(“workbookname.ext”)引用工作簿时,需要提供扩展名,如.xls或.xlsm,因此需要更新引用
工作簿的位置(“AirTimeWorkBookBeta”)
,以包含该工作簿的适当扩展名
如果宏运行时工作簿当前未打开,也可能会出现错误。
此外,请确保工作簿包含名为Data的工作表从NewName中删除
“
,这样它会显示设置WSD3=Workbooks(NewName)
,告诉我这是否有助于设置WSD3=Workbooks。添加然后添加WSD3.SaveAs NewName
此外,保存新工作簿时可能需要包含路径