超出范围的错误

我试图激活无数标签命名为例如我有一个名为“95004700”的标签我引用这些代码在列表中,然后设法激活相应的选项卡(我设置他们=variablesSTRcode)。 出于某种原因,我经常在“工作表(STRcode)中出现超出范围的错误。激活”有人可以向我解释为什么? 我觉得这可能与我所引用的单元格的格式或我设置variables的方法有关。

Sub Budget_Actual() Dim DBLdatarow As Double Dim STRcode As Long Dim STRname As String Dim cell As Range DBLdatarow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row - 1 'loop #1 Do While DBLdatarow > 5 STRcode = Range("D" & DBLdatarow).Value STRname = Range("B" & DBLdatarow).Value Workbooks.Open Filename:="File Path" Worksheets(STRcode).Activate Columns("B:B").Select Set cell = Selection.Find(What:=STRname, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) DBLdatarow = DBLdatarow + 1 Loop 'loop #1 End Sub 

只需传递一个string:

 Worksheets(cstr$(STRcode)).Activate 

由于传递整数尝试打开95004700表(基于Worksheets(1)是处理第一个Worksheets("1")表和Worksheets("1")另一种方式处理名为 "1" Worksheets(1)的事实。

表(STRcode)。激活激活工作表号码STRcode。 虽然您可能想要使用名称STRcode激活Worksheet。

Excel不能处理95004700张。

您需要将STRcode从整数更改为string。