1、在工作表中,点击菜单栏【开发工具】,在其工具栏里,点击【visual basic】,进入VBA界面。
2、在VBA界面,点击菜单栏【插入】,在其下拉菜单中,点击【模块】。
3、会弹出代码编辑窗口。
4、在代码编辑窗口输入一下代码。Sub 复制文件()FileCopy "f:\456.xlsx", "e:\963.xlsx"End Sub。
5、在VBA界面,点击工具栏里的【运行】按钮。
6、会发现E盘的目录下,出现了【963.xlsx】文件,复制就成功了。
不知道你是否一行一行的读过你写的代码,你读了会发现什么嘛,我是这么读的:
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 '关闭新工作簿