通过VBA将多个格式相同的Excel文件合并成一个文件,带文件处理
2017-12-26 14:47
645 查看
打开Excel文件,启用“开发人员工具”
启用宏和VBA功能
添加3个模块
代码如下:
新建菜单功能,如下图
使用的时候依次从左到右点击功能菜单
1. 先选取合并的文件
2. 将每张sheet中的指定单元格内容添加到表格的最左列
3. 再将所有sheet合并成一个sheet
完整代码文件
http://download.csdn.net/download/kirawoo/10175050
启用宏和VBA功能
添加3个模块
代码如下:
Sub 工作薄间工作表合并() Application.DisplayAlerts = False Application.ScreenUpdating = False FileToOpen_N = Application.GetOpenFilename("xlsx文件,*.xlsx", Title:="请选择要合并工作簿:", MultiSelect:=True) Newbz = 0 On Error Resume Next For Each FileToOpen In FileToOpen_N If FileToOpen <> False Then If Newbz = 0 Then Booknum = Application.SheetsInNewWorkbook Application.SheetInNewWorkbook = 1 Workbooks.Add Application.SheetsInNewWorkbook = Booknum NewBookName = ActiveWorkbook.Name Sheets(1).Name = "sheet_tmp" Newbz = 1 End If Set OpenBook = Workbooks.Open(FileToOpen) For Each Xlsheet In OpenBook.Sheets Xlsheet.Copy Before:=Workbooks(NewBookName).Sheets("sheet_tmp") Next OpenBook.Close SaveChanges:=False End If Next Workbooks(NewBookName).Sheets("sheet_tmp").Delete Application.ScreenUpadating = True Application.DisplayAlerts = True End Sub Sub 多张表格中输入对应的订单号() Application.ScreenUpdating = False With ActiveSheet For i = 7 To 6000 If .Cells(i, 2) <> "" Then .Cells(i, 20) = Range("F3").Value Else .Cells(i, 20) = "" End If Next End With For j = 1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then For i = 7 To 6000 If Cells(i, 2) <> "" Then Sheets(j).Select Cells(i, 20) = Range("F3").Value Else Cells(i, 20) = "" End If Next i End If Next j MsgBox "订单号已经更新完毕!", vbInformation, "提示" Application.ScreenUpdating = True End Sub Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For J=1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X=Range("A65535").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X,1) End If Next Range("A1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作簿已经合并完毕", vbInformation, "提示" End Sub
新建菜单功能,如下图
使用的时候依次从左到右点击功能菜单
1. 先选取合并的文件
2. 将每张sheet中的指定单元格内容添加到表格的最左列
3. 再将所有sheet合并成一个sheet
完整代码文件
http://download.csdn.net/download/kirawoo/10175050
相关文章推荐
- 用VBA实现把多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里
- 关于Excel下通过VBA实现工作簿文件下工作表的合并
- Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)
- 使用VBA合并多个EXCEL文件到一个EXCEL文件
- Excel格式相同表格合并成一个
- 基于Java的CSV格式文件处理(excel逗号分隔符文件)
- 写一个脚本,对一个文件夹内指定格式的文件做重命名处理,要求:重命名为数字编号从1开始,当有新增文件的时候,自动重名并跟随末尾编号格式,中间删减的时候,末尾名称自动改名补回空缺序号
- 一个通过VBA建立某文件快捷方式的例子 (备注)
- EXCEL VBA 跨表合并多个文件
- 一个Excel里用的VBA,循环处理每个单元格,将分号分隔的内容倒过来
- DotNet实现多Excel档合并成一个Excel档(包含格式,图片的复制)
- 在Excel中使用VBA合并相同的数据 保留不同的数据(或替换不同的数据)
- 一个通过散列在文件夹里找出相同文件工具(译)
- c# 导入excel 日期为整形如何处理?读出来是一个数值,如2008-08-08读出来是39688,怎样才能读出来是日期格式。
- 通过POI统一读取Excel文件(兼容97-2003和2007+两种格式)
- 用VBA将多个Excel文件里的数据汇总到一个Excel表
- 未能加载文件或程序集“ExcelHelper”或它的某一个依赖项。试图加载格式不正确的程序。
- 使用VBA实现Excel合并相同内容的相邻单元格
- 未能加载文件或程序集“LinqToExcel”或它的某一个依赖项。试图加载格式不正确的程序。
- C# 通过二进制,将多个文件合并为一个。