У меня есть несколько рабочих книг, и мне нужно объединить все это в одну рабочую таблицу на новой рабочей книге.
Мне нужно только скопировать первую строку и последнюю строку с надписью "Всего" на нескольких рабочих книгах..
пример:
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
Надеюсь, кто-нибудь может мне помочь.Заранее спасибо, Ёйз