VBA自动更改。范围到.range

时间:2014-12-11 14:46:24

标签: excel vba excel-vba autocomplete

我一直在编写一个Excel宏来帮助我处理工作中的数据,现在我已经完成了代码的编写,因为Microsoft Visual Basic不断变化,因此我一直在变错.Range to .range。每当它执行此操作时,我会收到编译错误,因为该方法不存在。

有没有解决这个问题?有没有办法绕过使用.Range如果没有?只要我的代码不断从.Range更改为.range,它就会在这里继续吐出错误。

已解决:错误不是以方法为根,而是在其前面的数据成员。

4 个答案:

答案 0 :(得分:15)

尝试在代码中的某处将Range作为范围声明(注意大小写):

Dim Range As Range

然后删除该声明。

这应该将您的所有range转换为Range

答案 1 :(得分:5)

编辑:O.P。说:

  

已解决:错误并非根植于方法中,而是位于其前面的数据成员。

但是,小写方法的相关问题可能来自创建名为range的变量或例程,系统将根据该定义自动更改大小写。您永远不应该创建一个与Range()之类的已定义流程同名的变量或例程。 正如@RubberDuck所说:

  

这是VB不区分大小写的副作用,并且IDE试图"有帮助"

答案 2 :(得分:1)

我有几种型号和程序,并且有时我的所有Range都转换为小写范围。我的简单解决方法是转到项目中的ThisWorkbook,并将Dim Range设置为Range,然后在代码中出现的任何地方,它将自动将“ range”更改为“ Range”

答案 3 :(得分:0)

如果您多次使用'范围'等字词,则自动更正将更改'范围'价值到'范围'。尝试手动将此方法更改为“范围”'并且确定您没有任何变量,例如' range'。