【问题标题】:Copy an Entire Worksheet - Keep Same Formatting复制整个工作表 - 保持相同的格式
【发布时间】:2013-09-05 18:54:40
【问题描述】:

我想将位于工作簿“Trial Data.xlsx”中的工作表“Trial Sheet”复制到名为“Copy Worksheet”的单独工作簿中。我想保持格式(列宽、缩放等),能够复制工作表而不必打开宏似乎没有做的“试用数据”工作簿。

我录制的宏如下。

Sub worksheet_copy()


Windows("Trial Data.xlsx").Activate
Cells.Select
Selection.Copy
Windows("Copy Worksheet.xlsm").Activate
Cells.Select
ActiveSheet.Paste

End Sub

我遇到了以前的答案 (Copy an entire worksheet to a new worksheet in Excel 2010),但不明白如何修改我的特定文件而不会出错。任何帮助将不胜感激。

【问题讨论】:

  • this answer 怎么不起作用?
  • 如果我正确阅读了您的问题,您希望将工作表复制到“关闭”工作簿中。看看这个答案? stackoverflow.com/q/9311188/2258
  • 您使用 vba 是有原因的吗?为什么不直接将工作表复制或移动到新工作簿?
  • 为什么不打开目标工作簿?如果您不想看到它打开,只需关闭 ScreenUpdating。
  • Enderland - 引用的答案给出错误“运行时错误'9':下标超出范围”

标签: excel vba worksheet


【解决方案1】:

这应该给你方向:

Sub worksheet_copy()

    Thisworkbook.worksheets("SheetName").Range("A:AB").Copy  _
        destination:= workbooks("Copy Worksheet.xlsm").worksheets(1).cells(1,1)

End Sub

为什么要使用那些Windows() 的东西?请明确:将Workbook 用于工作簿,Worksheet 用于...工作表。
并且停止使用那些缓慢而不必要的.Activate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2020-10-30
    相关资源
    最近更新 更多