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

这个问题对于我来说这个太复杂了,才学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对象失败
像我这个情况该怎么才能实现这个功能呢,最好是打开了那个表之后立即隐藏让人看不到,然后复制完了悄悄关闭。

这就是文中主界面的样子。

第1个回答  2014-04-04
你不是打开了新的工作簿了吗?后面的copy就直接工作簿了,不要路径追问

Range("主界面!a2:k11").Copy Range("d:\表单\" & workbookname & ".xlsx!A" & w & ":k" & w + 10)
End Sub
这句是不对的。

追答

知道这句不对,改了呀

本回答被提问者采纳
第2个回答  2014-04-04
Rang.copy 语句用错了吧
rang 语句应该不支持 带路径的工作簿名吧
相似回答