1004错误:无法重置variables
我正在尝试做一个非常简单的事情。 我想在一个variables中存储一系列的dynamic值。 我使用下面的代码:
Sub Main() Set RawStuff = Worksheets("Data Input").Range(Range("A1"), Range("A1").End(xlDown)) End Sub
第一次工作正常,第二次运行它会产生以下错误:
运行时错误“1004”:应用程序定义或对象定义的错误
唯一的方法来解决它是通过重新启动Excel /退出工作簿。
我的猜测是,一旦variables被设置,它就不能被重置。 作为参考,我正在为特定的工作簿创build此macros。
Set RawStuff = Worksheets("Data Input").Range(Range("A1"), Range("A1").End(xlDown))
如果“数据input”未激活,这将失败,因为默认Range("A1")
将引用活动工作表。
最好使用工作表对象限定所有对Range()
或Cells()
的调用:
With Worksheets("Data Input") Set RawStuff = .Range(.Range("A1"), .Range("A1").End(xlDown)) End With
无论哪个工作表处于活动状态(只要活动工作簿是正确的),上面的代码都可以工作。