VBA复制一个SHEET到另一个文件中的代码
我的目的是:在当前打开EXCEL文件同位置建立一个新的EXCEL文件,命名为“时间+备份数据”,如:2014815备份数据,同时再将当前打开的EXCEL文件sheet1复...
我的目的是:在当前打开EXCEL文件同位置建立一个新的EXCEL文件,命名为“时间+备份数据”,如:2014815备份数据,同时再将当前打开的EXCEL文件sheet1复制到刚才新建文件的sheet中,我写的代码是:
Private Sub CommandButton9_Click()
Dim i As String, j As String, k As String, yy As Integer, mm As Integer, dd As Integer
i = ActiveWorkbook.Path
j = "备份数据.xlsx"
yy = Year(Now())
mm = Month(Now())
dd = Day(Now())
Workbooks.Add
k = yy & mm & dd & j
ActiveWorkbook.SaveAs Filename:=i & k
Workbooks("项目情况一览表.xls").Sheets("sheet1").Cells.Copy ThisWorkbook.Sheets("sheet2").Range("a1")
End Sub
运行时,提示有问题,请高人指点一下是错在那里了!谢谢! 展开
Private Sub CommandButton9_Click()
Dim i As String, j As String, k As String, yy As Integer, mm As Integer, dd As Integer
i = ActiveWorkbook.Path
j = "备份数据.xlsx"
yy = Year(Now())
mm = Month(Now())
dd = Day(Now())
Workbooks.Add
k = yy & mm & dd & j
ActiveWorkbook.SaveAs Filename:=i & k
Workbooks("项目情况一览表.xls").Sheets("sheet1").Cells.Copy ThisWorkbook.Sheets("sheet2").Range("a1")
End Sub
运行时,提示有问题,请高人指点一下是错在那里了!谢谢! 展开
2个回答
展开全部
不知道你是否一行一行的读过你写的代码,你读了会发现什么嘛,我是这么读的:
Private Sub CommandButton9_Click()
Dim i As String, j As String, k As String, yy As Integer, mm As Integer, dd As Integer
i = ActiveWorkbook.Path
j = "备份数据.xlsx"
yy = Year(Now())
mm = Month(Now())
dd = Day(Now())
Workbooks.Add '1.添加工作簿
k = yy & mm & dd & j
ActiveWorkbook.SaveAs Filename:=i & k '2.新工作簿另存为指定名字
Workbooks("项目情况一览表.xls").Sheets("sheet1").Cells.Copy ThisWorkbook.Sheets("sheet2").Range("a1") '3.拷贝一些数据到一个工作簿中
End Sub
看了我的注释1、2、3,我就觉得逻辑不对,至少应该拷贝过去了再保持,另外还有细节问题,ThisWorkbook表示写有宏代码的工作簿,肯定不是你新建的。
我觉得逻辑应该这么做:把指定工作表复制到新工作簿,然后另存为保存新工作薄,最后关闭新工作簿,就三句:
Sheets("Sheet1").Copy '把宏所在工作簿的Sheet1表复制到新工作簿中
ActiveWorkbook.SaveAs Filename:= "..."'保存新工作簿
'ActiveWorkbook.Close '关闭新工作簿
追问
文件是建好了,但内容没有复制过去,请你帮忙写一个完整的代码,谢谢!
追答
用我的代码不是不可能的,因为我根本没有建立文件的语句,只有复制语句,请粘贴你的代码,我给你修改。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询