我一直在编写一个Excel宏来帮助我处理工作中的数据,现在我已经完成了代码的编写,因为Microsoft Visual Basic不断变化,因此我一直在变错.Range to .range。每当它执行此操作时,我会收到编译错误,因为该方法不存在。
有没有解决这个问题?有没有办法绕过使用.Range如果没有?只要我的代码不断从.Range更改为.range,它就会在这里继续吐出错误。
已解决:错误不是以方法为根,而是在其前面的数据成员。
答案 0 :(得分:15)
尝试在代码中的某处将Range作为范围声明(注意大小写):
Dim Range As Range
然后删除该声明。
这应该将您的所有range
转换为Range
答案 1 :(得分:5)
已解决:错误并非根植于方法中,而是位于其前面的数据成员。
但是,小写方法的相关问题可能来自创建名为range
的变量或例程,系统将根据该定义自动更改大小写。您永远不应该创建一个与Range()
之类的已定义流程同名的变量或例程。
正如@RubberDuck所说:
这是VB不区分大小写的副作用,并且IDE试图"有帮助" 。
答案 2 :(得分:1)
我有几种型号和程序,并且有时我的所有Range都转换为小写范围。我的简单解决方法是转到项目中的ThisWorkbook,并将Dim Range设置为Range,然后在代码中出现的任何地方,它将自动将“ range”更改为“ Range”
答案 3 :(得分:0)
如果您多次使用'范围'等字词,则自动更正将更改'范围'价值到'范围'。尝试手动将此方法更改为“范围”'并且确定您没有任何变量,例如' range'。