我有一个excel工作簿,当前内置了一个宏,当按下宏按钮时,当前工作簿将保存到宏创建的目录中,然后擦除模板以便为下一个创建空间一天的数据。
我希望编辑宏来执行以下操作,而不是将整个工作簿保存为新文件,然后必须跟踪以查看,我想编辑宏来执行以下操作:
以下是代码:
Sub NewDay()
Dim fn, d, ln
Set fs3 = CreateObject("Scripting.FileSystemObject")
Set fs = CreateObject("Scripting.FileSystemObject")
If fs3.FolderExists("c:\Morning Reports\") = True Then GoTo ext Else GoTo mkdir:
mkdir:
Set d = fs.CreateFolder("c:\Morning Reports\")
With Application
.UserName = "MD Totco"
.StandardFont = "Arial"
.StandardFontSize = "10"
.DefaultFilePath = "c:\Morning Reports\"
.EnableSound = False
.RollZoom = False
End With
ext:
Sheets("Morning Report").Select
ActiveSheet.Unprotect
ChDir "c:\Morning Reports\"
tempdate = ActiveSheet.Range("w1") + 1
ActiveSheet.Range("w1") = tempdate
tDate = Format(tempdate, "mmm d yyyy")
WellName = ActiveSheet.Range("s2")
fName = tDate + ", " + WellName
ActiveWorkbook.SaveAs FileName:=fName
这将是Sub NewDay中创建新文件并保存的部分,其余代码正在擦除并刷新模板。但是,我不希望保存工作簿,我只想将工作簿的“早期报告”工作表复制到新工作表中。
答案 0 :(得分:2)
复制工作表很简单:
Public Sub copy()
Sheets(1).copy after:=Sheets(1)
End Sub
剩下的应该很容易让你弄明白。