Объединить несколько книг в одну книгу - PullRequest
1 голос
/ 27 июня 2019

У меня есть зональные данные в разных Excel. Я хочу создать макрос для объединения всех файлов Excel в новую рабочую таблицу.

Я попробовал приведенный ниже код, но он не работает.

    Sub CopyBooks()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual

    Dim destinationWorkbook As Workbook
    Set destinationWorkbook = ThisWorkbook
    Dim lCopyLastRow As Long
    Dim lDestLastRow As Long
    Dim sourceWorkbook As Workbook
    Dim sourceWorksheet As Worksheet
    Const path As String = "C:\Corporate Competition\Excel\merge\"
    Dim file As Variant

    Dim currentSheets As Long
    currentSheets = destinationWorkbook.Sheets.Count

    file = Dir(path & "**.xls**")

    While file <> ""
        Set sourceWorkbook = Workbooks.Open(path & file)
        For Each sourceWorksheet In sourceWorkbook.Worksheets
            sourceWorksheet.Copy
            lCopyLastRow = sourceWorksheet.Cells(sourceWorksheet.Rows.Count, "A").End(xlUp).Row
            lDestLastRow = currentSheets.Cells(ThisWorkbook.Rows.Count, "A").End(xlUp).Offset(1).Row
            sourceWorksheet.Range("A2:D" & lCopyLastRow).Copy _
            ThisWorkbook.Range("A" & lDestLastRow)
            Next
        sourceWorkbook.Close savechanges:=False
        file = Dir
    Wend

    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True

End Sub

Я хочу, чтобы все файлы добавлялись один за другим. Кроме того, имя столбца для указания имени зоны / имени файла Excel будет очень полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...