超出范围错误

时间:2015-05-08 15:00:25

标签: excel vba variables

我正在尝试激活众多标签,例如我有一个名为" 95004700"我在列表中引用这些代码然后寻找激活相应的选项卡(我将它们设置为变量STRcode)。出于某种原因,我经常在"工作表(STRcode)上出现超出范围的错误。激活 "有人可以向我解释原因吗?我觉得它可能与我引用的单元格的格式或我设置变量的方法有关。

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

2 个答案:

答案 0 :(得分:1)

只需传递一个字符串:

Worksheets(cstr$(STRcode)).Activate

传递整数时尝试打开95004700th表(基于Worksheets(1)是解决第一张表的另一种方式而Worksheets("1")处理名为 {的表的事实{1}})。

答案 1 :(得分:1)

表格(STRcode).Activate激活工作表编号STRcode。虽然您可能希望使用名称STRcode激活Worksheet。

Excel无法处理95004700张。

您需要将STRcode从Integer更改为String。