合并主表上的数据

合并主表上的数据

作为一名日常 MIS 协调员,我需要从文件夹中的 21 个不同文件收集数据到主表中。每打开 21 个文件并从每个文件中复制每日数据并粘贴到粘贴前一天工作成果的主表中非常耗时。我有一个优势,即 21 个文件具有相同的格式,因此无需交叉检查每个文件。如果能得到任何帮助我将不胜感激,我该如何高效地实现这一目标?

答案1

这将帮助您入门。它循环遍历目录以查找 excel 文件,打开它们,从目标工作簿复制一定范围,将其粘贴到主工作簿,然后关闭目标工作簿而不保存。

Sub CopyFiles()
Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim StrFile As String
StrFile = Dir("C:\folder\*.xls")
Dim wbdata As Workbook
Dim wbtarget As Workbook
Dim i As Integer
i = 1
Set wbdata = ActiveWorkbook


    Do While Len(StrFile) > 0
        Set wbtarget = Workbooks.Open(StrFile)

            'Your operation here
            wbtarget.Range("A1:C1").Copy
            wbdata.Range(Cells(i, 1), Cells(i, 3)).PasteSpecial xlPasteValues
            i = i + 1
            wbtarget.Close savechanges:=False
            Application.CutCopyMode = False

        StrFile = Dir
    Loop

Application.ScreenUpdating = True

End Sub

相关内容