[问题] Excel VBA range包cell且用变量

楼主: KOBEretire16 (不死kobe)   2019-01-01 14:39:51
软件:Excel
版本:2013
各位强大的版友好还有2019新年快乐~~
目前小弟我想要将某些字段用range来圈选
然后想将里面的内容复制到同一个档案但不同sheet中
以下为部分程式码
row, col 都是我传进去的参数
Range(Cells(row, col), Cells(row, col+4)).Select
Range("F11:J12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2").Select
Range("A1:E1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
但在一开始选取那边就会出现
"应用程式或物件上错误"
请问我该怎么修改呢?
先感谢各路大神帮忙了~
作者: soyoso (我是耀宗)   2019-01-01 14:53:00
出现这个错误 https://i.imgur.com/n1Uv7mY.jpg 吗?如果宏是写在工作表内而产生的话,可改写至模组会产生该错误表示所选取的范围不在activate作用中或select选取中。因此如果不改以模组写的话,可于range.select上方加上worksheet.activate或select如加了还是产生该错误的话,则需在range.select前方加上worksheets(工作表名称).range.select如果没错误代码的话,贴上全部宏码,应会比较清楚宏放在那里执行的?thisworkbook?工作表?模组?
楼主: KOBEretire16 (不死kobe)   2019-01-01 15:32:00
thisworkbook
作者: soyoso (我是耀宗)   2019-01-01 15:33:00
Worksheet.Active.Range(Cells(col, mul ....是worksheets(工作表名称,如"1").activate或select下一行是range(cells(col,mul...)也可以是sheets("1").activate或selectKeepData传值mul的方面为0,0*5=0,cells栏方面并无该栏号如指的是a栏的话,要+1测试 https://i.imgur.com/aVbcOYq.jpg 于thisworkbook内执行程序All并无产生错误因写于thisworkbook,回文提worksheet.activeate或select就视执行程序时所在的工作表,可写可不写

Links booklink

Contact Us: admin [ a t ] ucptt.com