第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 将多个Excel 文件合并到一个Excel 一个sheet 中

将多个Excel 文件合并到一个Excel 一个sheet 中

时间:2021-07-13 10:36:20

相关推荐

将多个Excel 文件合并到一个Excel 一个sheet 中

1 Alt+F11 打开VBE ,点击插入->模块,插入新模块

2 将多个文件 放在一个文件夹下,F5 运行

Option ExplicitSub HzWb()Dim bt As Range, r As Long, c As Longr = 1 'r是表头的行数c = 15 'c是表头的列数,根据表头数据更新Dim wt As WorksheetSet wt = ThisWorkbook.Worksheets(1) '将汇总表赋给变量wtwt.Rows(r + 1 & ":1048576").ClearContents ' 清除汇总表中原表数据,只保留表头Application.ScreenUpdating = False ' 防止页面刷新Dim FileName As String, sht As Worksheet, wb As WorkbookDim Erow As Long, fn As String, arr As VariantFileName = Dir(ThisWorkbook.Path & "\*.csv")Do While FileName <> ""If FileName <> ThisWorkbook.Name Then ' 判断文件是否是汇总数据的工作簿Erow = wt.Range("A1").CurrentRegion.Rows.Count + 1' 取得汇总表中第一条空行行号fn = ThisWorkbook.Path & "\" & FileName'将第1个要汇总的工作簿名称赋给变量fnSet wb = GetObject(fn) ' 将变量fn 代表的工作簿对象赋给变量wbSet sht = wb.Worksheets(1) ' 将要汇总的工作表赋给变量sht' 将工作表中要汇总的记录保存在数组arr里arr = sht.Range(sht.Cells(r + 1, "A"), sht.Cells(1048576, "B").End(xlUp).Offset(0, c))' 将数组arr 中的数据写入工作表wt.Cells(Erow, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arrwb.Close FalseEnd IfFileName = Dir ' 用Dir 函数取得其他文件名,并赋给变量LoopApplication.ScreenUpdating = TrueEnd Sub

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。