excel vba如何将一个工作表从一个工作簿移动到另一个工作簿?

在做工作表的移动时,出错了,请网友帮我看看为什么:(123.xls是已经打开的状态)
num = Workbooks("123.xls").Worksheets.Count
ThisWorkbook.Worksheets("aaa").Copy after:=ThisWorkbook.Worksheets("aaa")
ThisWorkbook.ActiveSheet.Move after:=Workbooks("123.xls").Worksheets(num)

你的“aaa”表是xlsx,行数、列数都超过了xls格式
你应该使用.UsedRange属性选中“aaa”表的已使用区域,进行复制、然后在123.xls新建表,并命名为“aaa”,再粘贴复制内容。
或者直接制定复制区域,进行复制拷贝。

还有:
ThisWorkbook.Worksheets("aaa").Copy after:=ThisWorkbook.Worksheets("aaa")
以上代码干什么用的的?本工作薄“aaa”表copy到本工作薄“aaa”工作表之后?
按你问题要求,应该不要吧!

再试试
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-09
源文件的版本和目标文件的版本不一致造成的追问

我的源文件版本是xlsx,目标文件是xls,这是你说的版本不一致吗?

原是xlsm

追答

是的,2010往2007粘贴会出现这个问题
你可以将123.xls先复制粘贴
并保存为2010版本(xlsx)再执行此代码就可以了~

追问

哦,好吧

第2个回答  2014-08-09
代码好像没什么问题,源工作簿是2003的吗?
第3个回答  2014-08-09
excel 移动sheet 我给你实现
相似回答