运行时错误9

时间:2013-08-13 14:47:35

标签: excel-vba runtime-error vba excel

我创建了一个名为“AirHours”的工作簿。来自另一个工作簿的日期。我希望在整个项目中使用此工作簿。下面的代码工作,但我不断得到一个运行时错误9“下标超出范围”。

我正在尝试为我的报告创建一个工作簿,并使我的数据保持原始状态。新工作簿将用于许多模块。运行时错误似乎发生在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

2 个答案:

答案 0 :(得分:1)

打开它时将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

答案 1 :(得分:0)

除了scott的建议外,部分问题是当使用Workbooks引用工作簿(“workbookname.ext”)时,您需要提供扩展名,例如.xls或.xlsm,因此您需要更新您所在的位置引用Workbooks("AirTimeWorkBookBeta")以包含该工作簿的适当扩展名。

如果在运行宏时该工作簿当前未打开,您也可能会收到错误。 此外,请确保该工作簿包含名为Data

的工作表