Vba 运行时错误9下标超出范围需要帮助

Vba 运行时错误9下标超出范围需要帮助,vba,excel,Vba,Excel,我被要求修复别人的VBA项目中的错误,不幸的是,我对VBA非常陌生。如果你能帮我,我将不胜感激 下面是宏。我把11个文件中的数据拉到一张excel表格中,但它一直卡在第9个文件中。声明的错误是“运行时错误'9':下标超出范围”当我单击“调试”时,它会将我带到工作簿(工作簿名).Sheets(目标工作表)下面的一行。选择 Private Sub MasterPull(TargetPath, Quarter, Year) Dim Target_Worksheet As String Target_

我被要求修复别人的VBA项目中的错误,不幸的是,我对VBA非常陌生。如果你能帮我,我将不胜感激

下面是宏。我把11个文件中的数据拉到一张excel表格中,但它一直卡在第9个文件中。声明的错误是“运行时错误'9':下标超出范围”当我单击“调试”时,它会将我带到工作簿(工作簿名).Sheets(目标工作表)下面的一行。选择

Private Sub MasterPull(TargetPath, Quarter, Year)

Dim Target_Worksheet As String
Target_Worksheet = "Q" & Quarter & " " & Year
Dim Target_workbook As Workbook
Dim Source_Workbook As String
Source_Workbook = "Broker Captain Master.xlsm"

Dim Workbookname As String

Workbookname = Left(Mid(TargetPath, 38, 200), Len(Mid(TargetPath, 38, 200)) -5) & ".xlsx"

Set Target_workbook = Workbooks.Open(TargetPath, True, True, , "xxxxx")

Workbooks(Workbookname).Sheets(Target_Worksheet).Select

Dim HighTouchRow As Integer

HighTouchRow = WorksheetFunction.Match("High Touch (All teams)", 

Workbooks(Workbookname).Sheets(Target_Worksheet).Range("A9:A9999"), 0) + 8

谢谢你的帮助

因此,要么工作簿的名称不完全是
Workbookname
,要么中没有名为
Target\u Worksheet
的工作表。如果您添加了一行
工作簿(Workbookname)。在该行之前激活
,新行是否会抛出相同的错误?您知道您刚刚将密码发布到该工作簿,对吗?@BigBen-Hmm,我添加了那一行,但它仍然抛出相同的错误,尽管现在我正在查看它-您已经有了上一行中的工作簿对象-
设置目标\u工作簿…
您应该在下一行中使用它:
目标\u工作簿。工作表(目标\u工作表)
@BigBen我也尝试过,但仍然显示相同的错误。是否工作簿名称的标签与其他名称略有不同?Workbookname=Left(Mid(TargetPath,38200),Len(Mid(TargetPath,38200))-5)和“.xlsx”你能帮我把这个分解一下吗?我想这可能与文件名有关