【问题标题】:How can I copy one worksheet from an open workbook to a closed workbook?如何将一个工作表从打开的工作簿复制到关闭的工作簿?
【发布时间】:2020-03-23 10:03:30
【问题描述】:

我有一个打开表单的工作簿,用户扫描条形码,然后表单关闭并关闭 Excel。

我想在打开工作簿 (scanner.xlsm) 关闭之前将一张工作表 ("STOREDATA") 复制到同一目录中的已关闭工作簿 (REPORT.xlsx) 中。关闭的工作簿是否打开也没关系,只要关闭即可。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这将是一个非常简单的任务。

    打开工作簿,制作副本,保存,然后关闭。

    Sub copySheetToReport()
    
        With Application.Workbooks.Open("REPORT.xlsx")
    
            ThisWorkbook.Worksheets("STOREDATA").Copy after:=.Sheets(.Sheets.Count)
            .Save
            .Close
    
         End With
    
    End Sub
    

    这会将复制的工作表放在最后。

    【讨论】:

    • 我现在有一个问题......这个应用程序的工作方式是单击图标以扫描表单打开的条形码,然后他们扫描代码并关闭表单并关闭 Excel。现在我得到第一个工作簿打开一个表单打开操作员扫描条形码,报告 wb 得到更新。然后报告 wb 关闭,然后表单关闭(扫描表单),然后原始工作簿关闭,但留下一个空白 excel,没有工作表运行和最大化。我只是从一个模块中调用了该代码。在原始工作簿中的第一个工作表更新之后。我对此感到困惑..有什么想法吗?
    • 原始工作簿不应该发生任何事情。也许在End With 行之后尝试ThisWorkbook.Activate 和/或ThisWorkbook.Worksheets("STOREDATA").Activate
    猜你喜欢
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多