Excel如何使用vba代码实现把一个工作薄中的内容复制到另外一个工作薄中?

这个问题对于我来说这个太复杂了,才学vba目前只能从一个工作表复制到另外一个工作表中。Sub录入test()'检查客户名称是否有值,避免下标越界IfRange("主界面!... 这个问题对于我来说这个太复杂了,才学vba目前只能从一个工作表复制到另外一个工作表中。

Sub 录入test()
'检查客户名称是否有值,避免下标越界
If Range("主界面!$c$3").Value = "" Then
MsgBox "请输入客户名称!"
Exit Sub
End If
'检查是否有内容,避免无意义的输入

If Range("主界面!$J$11").Value = "" Then
MsgBox "不符合要求,请检查后录入,至少有一条完整内容!"
Exit Sub
End If
w = [a65536].End(3).Row + 2
MsgBox "录入陈功!"
Dim sheetsname As String
sheetsname = Range("主界面!c3").Value
Range("主界面!a2:k11").Copy Range(sheetsname & "!A" & w & ":k" & w + 10)
Selection.FillDown
ThisWorkbook.save
Dim workbookname
workbookname = Range("主界面!c3").Value
Workbooks.Open Filename:="d:\表单\" & workbookname & ".xlsx"
Range("主界面!a2:k11").Copy Range("d:\表单\" & workbookname & ".xlsx!A" & w & ":k" & w + 10)
End Sub

ThisWorkbook.save这句以后就是要再把这个数据复制到另外一个表中,但是失败了。
目前错误时作用于global对象失败
像我这个情况该怎么才能实现这个功能呢,最好是打开了那个表之后立即隐藏让人看不到,然后复制完了悄悄关闭。

这就是文中主界面的样子。
展开
 我来答
太极健1969
2014-04-04 · TA获得超过9033个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3604万
展开全部
你不是打开了新的工作簿了吗?后面的copy就直接工作簿了,不要路径
追问
Range("主界面!a2:k11").Copy Range("d:\表单\" & workbookname & ".xlsx!A" & w & ":k" & w + 10)
End Sub
这句是不对的。
追答
知道这句不对,改了呀
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weisilisid
2014-04-04 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:26.1万
展开全部
Rang.copy 语句用错了吧
rang 语句应该不支持 带路径的工作簿名吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式