简体   繁体   English

将多个工作簿中的多个工作表中的数据复制到单个主工作簿中

[英]copy data from multiple worksheets in multiple workbooks, all into single master workbook

I am new to macro and needs help. 我是宏的新手,需要帮助。 I have few workbooks in a folder and each workbook has four worksheets. 我的文件夹中没有几个工作簿,每个工作簿都有四个工作表。 now I want a mocro which copy data from each workbook (worksheet wise) and past in my master workbook (worksheet wise) means data of sheet1 shoud be pasted one below the other in my master workbook in sheet1 and sheet 2 respectively.*Workbook name could be anything in folder. 现在我想要一个Mocro,它可以复制每个工作簿中的数据(明智的工作表),并复制到我的主工作簿中(明智的工作表),这意味着工作表1的数据应分别粘贴在我的主工作簿中的sheet1和工作表2中。可以是文件夹中的任何内容。 Can anyone help me with entire code to do that? 任何人都可以帮助我完成整个代码吗? I have macro to colate data from one sheet to my assigned sheet but it copy paste data from open sheet only not by sheet name wise. 我有宏可以将数据从一张纸整理到我指定的纸上,但是它只能从打开的纸上复制粘贴数据,而不是按纸名来复制。 Can anyone help to make corrections in my below code : 任何人都可以在我的以下代码中进行更正:

Sub Ref_Doc_Collation()
Dim MyFile As String
Dim erow
Dim Filepath As String
Application.ScreenUpdating = False
Filepath = "\\NAMDFS\TPA\MWD\USERS\ay86009\Referral_Doc\"
MyFile = Dir(Filepath)
Do While Len(MyFile) > 0
If MyFile = "Referral_Doc_Collation.xlsm" Then
Exit Sub
End If

Workbooks.Open (Filepath & MyFile)
Sheets("Allocation").Range("B2:L3000").Copy
Application.DisplayAlerts = False

erow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Allocation").Range(Cells(erow, 2), Cells(erow, 12))

activesheet.next.select

Sheets("Prefetcher").Range("B2:I3000").Copy
Application.DisplayAlerts = False

erow = Sheet2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Prefetcher").Range(Cells(erow, 2), Cells(erow, 9))

activesheet.next.select

Sheets("Matrix").Range("B2:G3000").Copy
Application.DisplayAlerts = False

erow = Sheet3.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Matrix").Range(Cells(erow, 2), Cells(erow, 7))

activesheet.next.select

Sheets("Follow ups").Range("B2:H3000").Copy
Application.DisplayAlerts = False

erow = Sheet4.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Follow ups").Range(Cells(erow, 2), Cells(erow, 8))


ActiveWorkbook.Close
MyFile = Dir

Loop
Application.ScreenUpdating = True
MsgBox "DONE"
End Sub

Compiled but not tested: 编译但未经测试:

Sub Ref_Doc_Collation()

    Const FILE_PATH As String = "\\NAMDFS\TPA\MWD\USERS\ay86009\Referral_Doc\"
    Const SKIP_FILE As String = "Referral_Doc_Collation.xlsm"

    Dim MyFile As String, wb As Workbook

    Application.ScreenUpdating = False

    MyFile = Dir(FILE_PATH)

    Do While Len(MyFile) > 0

        If MyFile <> SKIP_FILE Then

            Set wb = Workbooks.Open(FILE_PATH & MyFile)

            wb.Sheets("Allocation").Range("B2:L3000").Copy _
                ThisWorkbook.Sheets("Allocation").Cells(Rows.Count, "B"). _
                   End(xlUp).Offset(1, 0)

            wb.Sheets("Prefetcher").Range("B2:I3000").Copy _
                ThisWorkbook.Sheets("Prefetcher").Cells(Rows.Count, "B"). _
                   End(xlUp).Offset(1, 0)

            wb.Sheets("Matrix").Range("B2:G3000").Copy _
                ThisWorkbook.Sheets("Matrix").Cells(Rows.Count, "B"). _
                   End(xlUp).Offset(1, 0)

            wb.Sheets("Follow ups").Range("B2:H3000").Copy _
                ThisWorkbook.Sheets("Allocation").Cells(Rows.Count, "B"). _
                   End(xlUp).Offset(1, 0)

            wb.Close False

        End If

        MyFile = Dir

    Loop

    Application.ScreenUpdating = True
    MsgBox "DONE"

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从主工作簿复制并将数据粘贴到多个工作簿 - How to copy from master workbook and paste data on multiple workbooks 使用关键字从多个工作簿中查找数据并将其复制到主工作簿中 - Find and copy data with a keyword from multiple workbooks into the master workbook 使用python将范围从多个工作簿复制到主工作簿中的新工作表 - Copy range from multiple workbooks to new worksheets in a master workbook using python VBA:将多个工作簿(具有多个工作表)中的特定单元格复制到单个工作簿 - VBA : Copy Specific cells from Multiple Workbooks(having Multiple Worksheets) to a single WorkBook 将多个工作簿中的所有工作表复制到单个工作簿 - Copy all sheets from multiple workbooks to a single workbook 将具有特定名称的Excel工作表从多个工作簿复制到新工作簿 - Copy Excel Worksheets with Specific Name from Multiple Workbooks to New Workbook 将具有多个工作表的工作簿中的数据复制到多个新工作簿中,每个工作表上只有一行 - Copy data from workbook with multiple worksheets into multiple new workbooks with only one row on each worksheet 将来自多个工作簿的数据与多个工作表合并到摘要工作簿中 - combining data from multiple workbooks with multiple worksheets into summary workbook 从多个工作簿复制工作表 - Copy worksheets from multiple workbooks 将位于同一文件夹中的多个工作簿中的数据复制并粘贴到预先存在的工作簿的多个工作表中 - Copy and paste data from multiple workbooks located in the same folder to several worksheets of a pre-existing workbook
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM