0

我有一个 Excel 工作簿,其中当前内置了一个宏,当按下宏的按钮时,当前工作簿将保存到宏创建的目录中,然后将模板擦除干净,以便为第二天的数据腾出空间。

而不是这个宏将整个工作簿保存为一个新文件,然后必须跟踪才能查看,我想编辑宏来执行以下操作:

  1. 不要创建或保存新文件。
  2. 单击“New Day”宏时,将模板工作表中标题为“Morning Report”的内容移动到新工作表中。
  3. 新标签的名称应该是移动模板的日期,位于 W1。

这是代码:

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 中创建新文件并保存的部分,其余代码正在擦除和刷新模板。但是,我不希望保存工作簿,我只想将工作簿的“早间报告”表复制到新表中。

4

1 回答 1

2

复制工作表很容易:

Public Sub copy()
 Sheets(1).copy after:=Sheets(1)
End Sub

其余的应该很容易让你弄清楚。

于 2013-06-11T18:48:56.980 回答