我有多个工作簿,我需要将所有工作簿合并到一个新工作簿中的一个工作表中。
我只需要复制多个工作簿上的第一行和最后一行“总计”。
示例:
files1.xlsx files2.xlsx files3.xlsx
files1.xlsx-带有文本“总计”的最后一行在第10行。
files2.xlsx-文本为“总计”的最后一行位于第19行。
files3.xlsx-文本为“总计”的最后一行位于第30行。
(注意:最后一行的位置不固定)
DestFile.xlsx-此文件将是files1到files3的目标文件,仅粘贴到sheet1上。
到目前为止,我在下面有这段代码,但是第二个文件行与第一个文件行重叠。
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
希望有人可以帮助我。 提前致谢, Yeojz