使用VBA对象名作为变量

时间:2011-10-03 23:44:48

标签: excel vba

由于草率的原因,我在我的代码中创建了一个名为'cells'的变量,就像这样

   Dim cells as Range

但现在在我的所有模块中,'Cells'对象已被小写变量'cells'替换。如果我输入'Cells',VBA编辑器将自动用'cells'替换文本。有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

解决此问题的唯一方法是将cells重命名为Cells

答案 1 :(得分:0)

你也可以一次找到并替换一个,但这会很乏味。

答案 2 :(得分:0)

更大的问题是,通常Cells的无限制使用是指活动工作表,因此返回包含该活动工作表上所有单元格的范围(即ActiveSheet.Cells)(只要活动表是一个工作表。)

如果您自己的名为cells的变量在范围内,那么它将优先于Cells的全局使用。由于两者都引用Range对象,因此不会出现语法错误 - 只是难以找到语义错误。

我会将变量cells重命名为完全不同的东西。之后,如果Excel仍然将Cells更改为cells,那么上面提供的链接reafidy中的建议应该会有所帮助