利用VBA实现多个EXCEL表格合并

工作小作业-多表合并

多个excel表格,字段都一样,内容数据不同,利用VBA实现数据合并到一张表格

利用VBA实现多个EXCEL表格合并_第1张图片

Sub text1()
Application.ScreenUpdating = False
Dim x As Integer, y As Integer
Dim wb As Workbook, wbb As Workbook
f = Dir(ThisWorkbook.Path & "\*" & ".xls")
'07以上EXCEL文件为xlsx
If f = ThisWorkbook.Name Then
'以防第一个目录文件是作汇总的文件,用以过滤
f = Dir
'f转为下个目录下的文件名
End If
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f)
    x = wb.Worksheets(1).[a65536].End(xlUp).Row
    wb.Worksheets(1).Rows("1:" & x).Copy ThisWorkbook.Sheets("sheet1").[a65536].End(xlUp)
'为取字段行,把第一个打开的文件字段行包括数据复制出来,再往下循环其他表
    wb.Close
f = Dir
Do While f <> ""
If f <> ThisWorkbook.Name Then
Set wbb = Workbooks.Open(ThisWorkbook.Path & "\" & f)
    y = wbb.Worksheets(1).[a65536].End(xlUp).Row
    wbb.Worksheets(1).Rows("2:" & y).Copy ThisWorkbook.Sheets("sheet1").[a65536].End(xlUp).Offset(1)
 '开始循环取其他表格字段行以外数据
    wbb.Close
End If
f = Dir  
'这句要放end if 后面,目录取完最后会为空"".
Loop
Application.ScreenUpdating = True
End Sub

你可能感兴趣的:(Excel,VBA)