我发现了类似的问题,涉及将整个工作表复制到一个工作簿中并将其粘贴到另一工作簿中,但是我很想简单地复制整个工作表并将其粘贴到新工作表中-在同一工作簿中。

我正在将2003 .xls文件转换为2010 .xlsm,并且用于在工作表之间复制和粘贴的旧方法未粘贴正确的行高。我最初的解决方法是遍历每一行并从要复制的工作表中获取行高,然后遍历并在粘贴到的工作表中插入行高的那些值,但是这种方法的问题是工作表包含产生新行的按钮,这些按钮会更改行编号,并且工作表的格式使所有行不能只是一个宽度。

我真正想做的只是复制整个工作表并将其粘贴。这是2003版本的代码:

ThisWorkbook.Worksheets("Master").Cells.Copy
newWorksheet.Paste

我很惊讶转换为.xlsm导致此问题现在中断。任何建议或想法都很好。

最佳答案

仅运行如下所示的精确副本将副本作为最后一张纸放进去就更简单了

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

10-05 21:12
查看更多