我有一个包含许多订阅的表格。工作簿有很多工作表。当我在活动工作表为CodesSheet
时启动窗体时,使用下面代码中的任何For Each rCell
都可以。当我从另一张纸开始代码时,使用第二行-.Range("L2:L4125")
-时代码运行正常,但第一行-.Range(Cells(2, 12), Cells(LastRowCodes, 12))
失败。
消息为Run time error 1004 - Method Range of object _worksheet failed
。但是在调试时,将鼠标悬停在LastRowCodes
上会显示正确的值(4125)。
任何人都能发现错误吗?
For Each rCell In CodesSheet.Range(Cells(2, 12), Cells(LastRowCodes, 12)) '-->Error here, although LastRowCodes is correct
'For Each rCell In CodesSheet.Range("L2:L4125") '--> If using this instead of the above, no error
'Do Stuff
Next rCell
答案 0 :(得分:1)
Cells
如果没有Worksheet
引用,则表示假设为ActiveSheet
。
使用With...End With
块完全符合Worksheet
的条件-请注意句点。
With CodesSheet
For each rCell in .Range(.Cells(2, 12), .Cells(LastRowCodes, 12))
....
Next rCell
End With