excel vba range 问题

第一幅图运行到黄色句子出提示对象块或with变量未设置,为什么前面三句没问题,都是一样的东西,应该怎么改第二幅图把刚出错的那句设置成注释,后面的还是运行不了,提示对象不支... 第一幅图运行到黄色句子出提示对象块或with变量未设置,为什么前面三句没问题,都是一样的东西,应该怎么改第二幅图把刚出错的那句设置成注释,后面的还是运行不了,提示对象不支持该属性或方法,怎么解决呢
第一个问题自己解决了,第二个还是不知道
展开
 我来答
mzz9060
2018-03-02 · TA获得超过1324个赞
知道小有建树答主
回答量:773
采纳率:84%
帮助的人:195万
展开全部
答:
出错的原因是定义变量引起。dim r11,r12,r21,r22 as range
根据VBA语法,以上定义只有R22被定义为Range对象,而r11,r12,r21相当于没定义,是默认的variant数据类型,即:可变体类型。
既然是可变体类型,就可以赋值任何数据类型,比如R11=sheet1.range(cells(2,1),cells(i1,1))
此时R11实际上是被赋值了成为了数组。而你本意是赋值为单元格对象。但是此句不会出错,但就如你所言在后面出错了,因为R11是数组。
要赋值对象,要用Set关键字。
综上所述。程序应改的地方有:
dim i1 as integer,i2 as integer
dim r11 as range,r12 as range,r21 as range,r22 as range
set r11=sheet1.range(cells(2,1),cells(i1,1))
往下3句都要修改。
追问

这个问题追加的时候已经解决了,图表的问题也解决了,需要先激活图表再操作

还是谢谢了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式