vba复制粘贴工作表

Set objWkb = openFile(mypath) 'copy ヤェ
Set objTemplates = openFile(mypathTemp) 'copyマネ
'sName为一变量string
objWkb.Sheets(sName).Cells.Copy Destination:=objTemplates.Sheets(sName).Cells
为什么运行提示对象定义错误?
objTemplates.Sheets("JD").Columns("E:E").Select
Selection.Copy
objTemplates.Sheets(aaa(i)).Columns("B:B").Select
ActiveSheet.Paste
也提示40036错误。

openfile需要声明才能使用

在VBA中打开文档,请使用workbooks.Open方法
sName变量必须要设置值,否则出错
同时如果工作表中没有sname变量对应的工作表,也将发生错误!!!
请检查两个工作表中是否存在sname变量指定的工作表
然后你后面的四句代码可以合并成一句
objTemplates.Sheets("JD").Columns("E:E").Copy objTemplates.Sheets(sname).Columns("B:B")
把JD工作表的E列复制到sname工作表的B列
后面四句的错误可能是由于当前工作表不是所要操作的工作表!!!
select方法某些情况下,必须要先激活所在的工作表
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-25
单步执行了吗?看看出错在哪一步? objWkb 用 dim 定义的类型是什么?另外,Copy 是这么用么?我记得我一般是 对单元格先进行 copy,然后再对另外一个单元格进行 paste操作才行的。
相似回答