Объединение нескольких файлов Excel в одну книгу с определенной строкой для копирования - PullRequest
0 голосов
/ 08 октября 2018

У меня есть несколько рабочих книг, и мне нужно объединить все это в одну рабочую таблицу на новой рабочей книге.

Мне нужно только скопировать первую строку и последнюю строку с надписью "Всего" на нескольких рабочих книгах..

пример:

files1.xlsx files2.xlsx files3.xlsx

files1.xlsx - последняя строка с текстом «Всего» находится в строке 10.

files2.xlsx - последняя строка с текстом «Всего» в строке 19.

files3.xlsx - последняя строка с текстом «Всего» в строке 30.

(Примечание: позиция последней строки не является фиксированной)

DestFile.xlsx - Этот файл будет файлом назначения файлов с 1 по 3, которые будут вставлены только на лист 1.

Пока что яниже приведен этот код, но вторая строка файлов пересекается с первой строкой файла.

Sub CombineFiles()

Dim bookList As Workbook Dim mergeObj, dirObj, filesObj, everyObj As Object Dim IRow, i As Long Dim ws As Worksheet Dim tag As String

Application.ScreenUpdating = False

Set mergeObj = CreateObject("Scripting.FileSystemObject")

Set dirObj = mergeObj.GetFolder("D:\CXT\") Set filesObj = dirObj.Files

For Each everyObj In filesObj

    Set bookList = Workbooks.Open(everyObj)

    Set ws = bookList.Worksheets("10052018")
    IRow = ws.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

    For i = 1 To IRow
       tag = ws.Cells(i, 2)
       If tag = "*" Then
        IRow = i
        Exit For
       End If
    Next i

    IRow = IRow - 2

    Range("A3:L" & Range("B" & IRow).End(xlDown).Row).Copy

    ThisWorkbook.Worksheets(1).Activate
    Range("A" & IRow).End(xlUp).Offset(2, 0).PasteSpecial
    Application.CutCopyMode = False
    bookList.Close
Next
End Sub

Надеюсь, кто-нибудь может мне помочь.Заранее спасибо, Ёйз

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