使用VBA对象名称作为variables

为了一个马虎的原因,我在我的代码中这样做了一个名为“单元格”的variables

Dim cells as Range 

但是现在在我的所有模块中,'Cells'对象已经被replace为小写variables'cells'。 如果我input“单元格”,VBA编辑器将自动用“单元格”replace文本。 有没有办法来解决这个问题?

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

你也可以一次find并replace一个,但是这将是乏味的。

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

如果你自己的variables叫做cells ,那么它将优先于Cells的全局使用。 由于两者都引用Range对象,所以不会有任何语法错误 – 只是很难find语义错误。

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