繁体   English   中英

Excel宏:将工作表复制并粘贴到另一个工作表中

[英]Excel Macro: Copy and paste worksheet into another worksheet

我已经能够制作工作表的精确副本,并使用以下命令将其添加到工作簿中:

Sub Test()
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Worksheets("Detailed List")
    ws1.Copy ThisWorkbook.Sheets(Sheets.Count)
End Sub

但我试图将复制的工作表粘贴到另一个工作表上。 例如,我试图复制工作表“详细列表”,并粘贴并覆盖“测试表”,但是我能用上面的代码做的只是制作另一个工作表。 任何帮助都会很棒。

您几乎拥有了它,并且您自己的解决方案可以工作……但是,在完整性的努力下……

Sub Test()
    Dim ws1 As Worksheet
    Dim ws1Copy As Worksheet
    Set ws1 = ThisWorkbook.Worksheets("Detailed List")

    ws1.Copy ThisWorkbook.Sheets(Sheets.Count) 'we can't set the copied object directly to a varaiable, but it becomes the active sheet by default

    Set ws1Copy = ActiveSheet 'assign the newly copied activesheet to a variable

    Application.DisplayAlerts = False 'supress warnings, the delete method gives the user a warning
    Sheets("Testing Sheet").Delete 'delete the testing sheet
    Application.DisplayAlerts = True 'un-supress the warnings

    ws1Copy.Name = "Testing Sheet" 'change the name of the copied sheet to the testing sheet.
End Sub

所以我最终这样做:

Worksheets("Detailed List").Range("A7").CurrentRegion.Copy
Worksheets("Detailed Copy").Range("A7").PasteSpecial

在运行宏之前,我首先只是复制了“详细列表”。 然后,我突出显示了所有数据点和标题,并覆盖了副本。 我之所以需要这样做,是因为我正在创建一个宏,每当有人更改“详细列表”中的单元格时,我都需要显示该单元格中的旧值,因此,通过具有两个基本的列表副本,我可以先进行比较,然后一遍又一遍地复制列表,以便它自动更新为已进行的任何更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM