【问题标题】:Mergeing Excel Workbooks into Worksheets将 Excel 工作簿合并到工作表中
【发布时间】:2014-12-02 10:44:44
【问题描述】:

我目前正在尝试将 24 个工作簿合并到一个包含 24 个工作表的工作簿中。工作簿被命名为运行 1 到运行 24,我正在尝试合并到一个模板中,该模板已经有 2 张名为摘要和压力的工作表。我对为此进行编码非常陌生,并且从其他问题中复制的任何代码似乎都不适合我。我尝试了移动到模板中的记录宏,但是在尝试应用它时出现运行时错误 9。编码看起来像这样。

Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy After:=Workbooks("Current Template.xlsx").Sheets(2)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Move After:=Workbooks("Current Template.xlsx").Sheets(3)
End Sub

任何帮助将不胜感激。

干杯

【问题讨论】:

    标签: excel vba merge


    【解决方案1】:

    这可能会对您有所帮助:

    Sub test()
    
        Dim wb As Workbook
        Set wb = Application.Workbooks("target.xlsm")  'Considering that macro is placed in your target file
        i = 1
        While i < 25
            Workbooks.Open ("run" & i & ".xlsx")   'give path as applicable
            Set wb1 = Application.Workbooks("run" & i & ".xlsx")
            With wb1
                .Sheets("sheet1").Copy After:=wb.Sheets(wb.Sheets.Count)   'the new sheet will be placed after the last sheet in target file
                .Close
            End With
        i = i + 1
        Wend
    
    End Sub
    

    【讨论】:

    • 好的,非常感谢。我将 target.xlsm 更改为 template.xlsm,因为这是目标工作簿。但它说有一个运行时错误 1004 并检查文件拼写和位置是否正确。我不确定如何输入路径。是否有专门的编码行?
    • 路径是您的文件夹位置。例如C:\rusk\运行。还要提及您在哪一行收到此错误。
    最近更新 更多