请问在VBA中我要复制sheet2中的Range(Cells(1, 1), Cells(3, 28))到同一个文件的sheet1中,为什么出错

Sheet1.Range(Cells(6,1),Cells(8,28)).Value=Sheet2.Range(Cells(1,1),Cells(3,28)).Value... Sheet1.Range(Cells(6, 1), Cells(8, 28)).Value = Sheet2.Range(Cells(1, 1), Cells(3, 28)).Value
提示的错误是方法“range”作用于对象“worksheet”时失败。
请高手指教
展开
 我来答
帐号已注销
2013-02-13 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2852万
展开全部
你标定单元格区域时出错了:
Sheet1.Range(Cells(6, 1), Cells(8, 28))
应该写为:
Sheet1.Range(Sheet1.Cells(6, 1),Sheet1.Cells(8, 28))

全部:
Sheet1.Range(Sheet1.Cells(6, 1), Sheet1.Cells(8, 28)).Value = Sheet2.Range(Sheet2.Cells(1, 1), Sheet2.Cells(3, 28)).Value
2724421
2013-02-13 · TA获得超过2493个赞
知道大有可为答主
回答量:1551
采纳率:71%
帮助的人:945万
展开全部
你的语句只为range指定了父对象为sheet1、sheet2.而没有为cells指定父对象。
而没有指定父对象的cells默认是当前激活工作表的cells 如果cells的的父对象与你指定的range的父对象不相符时会报错。
完整的指定父对象的语句如下:
Sheet1.Range(sheet1.Cells(6, 1),sheet1. Cells(8, 28)).Value = Sheet2.Range(sheet2.Cells(1, 1), sheet2.Cells(3, 28)).Value
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-02-13 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2739万
展开全部
这个不能一气呵成的,只能一个一个来!
Sheet1.Cells(6, 1).Value = Sheet2.Cells(1, 1).Value
Sheet1.Cells(8, 28).Value = Sheet2.Cells(3, 28).Value
追问
你好,我是想复制一个区域,就比如上面的,Cells(1,1)到Cells(3,8)这个区域(应该A1:AB2这个区域),不只是两个单元格,能否用cell实现呢?
我尝试了下,在同一个工作簿主这个命令是不出错的,但是如果在不同的工作簿,就像在sheet1和sheet2之间用,就报错。
追答
那个更应该用Range属性来确定区域;
你可以这样,用录制宏的办法;
1,使用EXCEL的菜单,[工具] -- [宏] -- [录制新宏] -- [确定]。
2,切换到工作表“Sheet2”,选中区域"A1:H3",单击[复制],切换到工作表“Sheet1”,选中单元格“A1”,单击[粘贴]。
3,使用EXCEL的菜单,[工具] -- [宏] -- [停止录制]。
4,使用EXCEL的菜单,[工具] -- [宏] -- [宏],选中刚才录制的宏,单击[编辑],就可以看到刚才执行的操作的完整宏了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式