我发现了类似的问题,涉及复制一个工作簿中的整个工作表并将其粘贴到另一个工作簿,但我感兴趣的是简单地复制整个工作表并将其粘贴到同一工作簿中的新工作表。
我正在将 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
关于vba - 将整个工作表复制到 Excel 2010 中的新工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439657/