如何把Excel的多张表格合成一张
2014-10-21 21:28
302 查看
excel表中将多个工作表合成一个工作表_一个工作薄中的多个表格合并成一个
新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。
Sub 合并当前目录下所有工作簿的全部工作表()
或者用这个试试
新建一个空白工作簿,按ALT+F11调出它的VBA窗口,插入一个用户模块,将下面代码粘贴进去。
新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xls") AWbName = ActiveWorkbook.Name Num = 0 Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & Wb.Name Wb.Close False End With End If MyName = Dir Loop Range("A1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End Sub
Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count IfSheets(j).Name <> ActiveSheet.Name Then X =Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub
或者用这个试试
新建一个空白工作簿,按ALT+F11调出它的VBA窗口,插入一个用户模块,将下面代码粘贴进去。
Sub合并工作簿() Application.DisplayAlerts=False'关闭提示窗口 shes=Application.SheetsInNewWorkbook'工作簿中包含工作表数 Application.SheetsInNewWorkbook=1'生成的新工作簿中只有一个工作表 Setnewbok=Workbooks.Add'生成新工作簿 Setnewshe=newbok.Worksheets(1)'新工作表 s=1'从新工作表的第一行写入数据 na=Dir("d:\time\*.xls")'需要合并的所有工作表都要事先保存在D盘time文件夹下 DoWhilena<>"" Setwb=Application.Workbooks.Open("d:\time\"&na) wb.Worksheets(1).UsedRange.Copy'复制数据 newbok.Activate Cells(s,1).Select ActiveSheet.Paste'执行粘贴 s=newshe.UsedRange.Rows.Count+1 Cells(s,1)=wb.Name'写入数据所属的工作簿名字 s=s+1 wb.Close'关闭工作簿 na=Dir()'取下一个工作簿
Loop Application.SheetsInNewWorkbook=shes Application.DisplayAlerts=True Range("a1").Select EndSub执行这个代码就能快速完成合并工作。
相关文章推荐
- 如何往excel的表格中导入一张图片
- 如何用PB程序在excel画表格边框线,如何改变文字大小
- moss2007 如何实现excel 协同输入表格
- Matlab如何读取Excel 表格数据
- 如何用Sql把两张字段不相同的表合成一张表
- Excel数据表格中如何利用“高级
- 如何使用 Visual Basic .NET 和 ASP.NET 将数据集转换为 Excel 的电子表格 XML
- java如何将Excel表格中内容写入oracle数据库
- excel表格如何在word中自动更新
- 如何确定抽样统计的最小样本量(附:随机抽样统计的抽样误差Excel计算表格)
- sql2000如何将查询结果放入一张新建的表格
- 如何读取EXCEL 表格文件并使他在WEB网页上显示(使用ASP.NET)
- 水晶报表如何完美导出一个Excel表格
- 水晶报表如何完美导出一个Excel表格(转)
- excel表格如何在word中自动更新
- C#如何读取Excel表格数据并显示到GridView控件
- 如何设置comboBox下拉框的大小,并在下拉框中画上类式excel的表格???
- excel 在同一张工作表中复制表格,格式会改变的解决
- 如何把EXCEL 中的表格复制到WORD 中后不显示网格线?
- 如何把电子表格Excel导入到sql 2005?