将整个工作表复制到另一个工作表

时间:2013-06-11 18:35:36

标签: excel-vba vba excel

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

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

  1. 不要创建或保存新文件。
  2. 单击“新日期”宏时,将标题为“早间报告”的模板工作表中的内容移动到新工作表。
  3. 新标签的名称应为移动模板的日期,该模板位于W1。
  4. 以下是代码:

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

1 个答案:

答案 0 :(得分:2)

复制工作表很简单:

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

剩下的应该很容易让你弄明白。