【问题标题】:Copy Entire Worksheet to Another Worksheet将整个工作表复制到另一个工作表
【发布时间】:2013-06-11 18:35:35
【问题描述】:

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

【问题讨论】:

  • 你能把代码贴出来作为编辑的基础吗?

标签: excel vba


【解决方案1】:

复制工作表很容易:

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

其余的应该很容易计算出来。

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 2015-11-13
    • 2017-09-14
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多