我正在尝试激活众多标签,例如我有一个名为" 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
答案 0 :(得分:1)
只需传递一个字符串:
Worksheets(cstr$(STRcode)).Activate
传递整数时尝试打开95004700th表(基于Worksheets(1)
是解决第一张表的另一种方式而Worksheets("1")
处理名为 {的表的事实{1}})。
答案 1 :(得分:1)
表格(STRcode).Activate激活工作表编号STRcode。虽然您可能希望使用名称STRcode激活Worksheet。
Excel无法处理95004700张。
您需要将STRcode从Integer更改为String。