vba - 将整个工作表复制到 Excel 2010 中的新工作表

标签 vba excel excel-2010

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

我正在将 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/

相关文章:

Python xlwt : sum function max arguments limit?

vba - 使用 Excel VBA 将 .msg 文件中的表格数据粘贴到 Excel 工作表中的单独单元格中

VBA:从本地驱动器名称转换为网络驱动器名称

excel - Excel 何时以及如何重新计算其公式?

vba - 如何在选择后粘贴形状

excel - VBA 引用计数 - 对象销毁

python-3.x - 跨工作表 xlwings 复制粘贴范围时出错

Excel:在单元格中搜索多个术语

不支持字节数据类型的 VBA for...下一个循环?

excel - 如何在 Excel 中使用公式或 VBA 获取具有两个条件的范围的不同值?