我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:
2
用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:
3
然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:
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("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
4
运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。
END
注意事项
金山的WPS没有宏计算功能。只能用microsoft excel来实现。
当需要在Excel中对数据进行分类计算时,除了使用数据透视表,还可以使用分类汇总命令。与数据透视表不同的是,它可以直接在数据区域中插入汇总行,从而可以同时看到数据明细和汇总。下面是分类汇总的使用方法:
在进行分类汇总前,需保证数据具有下列格式,即数据区域的第一行为标题行,数据区域中没有空行和空列,数据区域四周是空行和空列,如下图是几种商品在一些城市的销售数据。另外,如果数据区域在应用分类汇总前已被设置成Excel 2003列表或Excel 2007表,需将其转换为普通区域。因为对于Excel 2003列表或Excel 2007表无法使用分类汇总。
一、仅对某列进行分类汇总
例如上例中需要对各城市的销售量进行分类汇总,方法如下:
1. 首先对数据按需要分类汇总的列(本例为“城市”列)进行排序。
选择“城市”列中的任意单元格,在Excel 2003中单击工具栏中的排序按钮如“A→Z”。在Excel 2007中,选择功能区中“数据”选项卡,在“排序和筛选”组中单击“A→Z”按钮。
2. 选择数据区域中的某个单元格,在Excel 2003中单击菜单“数据→分类汇总”。如果是Excel 2007,则在“数据”选项卡的“分级显示”组中单击“分类汇总”。
3. 在弹出的“分类汇总”对话框中,在“分类字段”下选择“城市”,在“汇总方式”中选择某种汇总方式,可供选择的汇总方式有“和”、“计数”、“平均值”等,本例中选择默认的“和”。在“选定汇总项”下仅选择“销售额”。
4.单击确定,Excel将按城市进行分类汇总。
二、对多列进行分类汇总
如上例中需要同时对“城市”列和“商品名称”列进行分类汇总,可以插入嵌套分类汇总。
1.对数据进行多列排序,即进行多关键字排序。
首先选择数据区域中的某个单元格。
在Excel 2003中,单击菜单“数据→排序”。弹出“排序”对话框,其中主要关键字选择“城市”,次要关键字选择“商品名称”,其他选择默认。
如果是Excel 2007,在“数据”选项卡的“排序和筛选”组中单击“排序”命令,在弹出的“排序”对话框中,单击“添加条件”按钮添加次要关键字排序条件,然后主要关键字选择“城市”,次要关键字选择“商品名称”,其他选择默认。
2.对“城市”列进行分类汇总(外部分类汇总)。
按上述方法打开“分类汇总”对话框,在“分类字段”下选择“城市”,在“汇总方式”中选择默认的“和”,在“选定汇总项”下仅选择“销售额”。单击“确定”。
3.对“商品名称”列进行分类汇总(嵌套分类汇总)。
再次打开“分类汇总”对话框,在“分类字段”下选择“商品名称”,取消选择“替换当前分类汇总”,单击“确定”。
这时Excel将按“城市”列和“商品名称”列对“销售额”进行分类汇总。
如果不需要显示明细数据,可以单击左侧的分级显示符号,如本例中右上角的数字和左侧的减号来隐藏明细数据。
三、删除分类汇总
在“分类汇总”对话框中,单击“全部删除”即可。
如sheet0中A2开始是车牌号码,则B2为1日的耗油量,C2为2日的耗油量,D2为3日的耗油量,...,以此类推AE2为30日的耗油量。则操作如下:
1. 则在sheet0 中,输入公式:B2=VLOOKUP(A2,Sheet1!A:B,2,0),C2=VLOOKUP(A2,Sheet2!A:B,2,0),D2=VLOOKUP(A2,Sheet3!A:B,2,0),......AE2=VLOOKUP(A2,Sheet30!A:B,2,0)。
2. 在sheet0 中,选择B2到AE2(即所有设定公式的单元格)往下拖,一直拖到A列中有车牌号的那一行。
这样的话,你只要在不同的sheet表中输入相关的数据,则总表会自动识别, 但前提是车牌号码须保持一致性,否则无法自动识别,你先试试,保证管用。
以上是合并多个不同工作表的excel数据到一张总表的详细内容。更多信息请关注PHP中文网其他相关文章!