展开全部 1、一个工作簿里面有多个工作表,各工作表之间的字段是一致的,但数据不一致。由于工作需要,需要将各个工作表的数据汇总到一个表格里面做汇总分析,数据少、工作表数目不多的时候,CTRL+C后CTRL+V逐个复制粘贴是可以的,但数据量大、工作表数据多的时候,则可以用宏进行快速处理; ? 2、从上图中,后面的5个工作表,里面是源数据。“合并报表”这个表,则是要将后面5个表格的数据汇总的表格,其内容为空。 3、方法:使用宏快速汇总: (1)录制宏:首先,点击文件菜单的“工具”菜单,选择“宏”—“宏” 出现以下的宏界面,在“宏名”中按照自己喜好录入一个名称,这里录入“合并工作表”的名称,“位置”是指该宏可以在那个EXCEL工作簿中使用,这里选择“当前工作簿”。然后点击“创建”。 出现以下的宏录入界面 Sub 合并工作表()”下面,将以下的字符复制粘贴过去Dim m As Integer Dim n As Integer Dim o As Integer For m = 2 To 6 n = Sheets(m).[a65536].End(xlUp).Row o = Sheets(1).[a65536].End(xlUp).Row Sheets(m).Select Range("a1", "z" & n).Select Range("a" & n).Activate Selection.Copy Sheets(1).Select Range("a" & o + 1).Select ActiveSheet.Paste Next 特别注意这一段字符“For m = 2 To 6”,由于要汇总的数据的工作表有5个,加上“合并报表”这个工作表本身,一共是6个工作表,因此“For m = 2 To 6”中选择输入6,如果后面要汇总的数据工作表有3个,则是录入4,如果有12个,则是录入13,依次类推。 然后,点击“文件”菜单,选择“关闭并返回到Micrlsoft Excel”。宏至此录入完毕。 (2)使用已录制好的宏“合并工作表”,进行工作表的数据汇总。首先,在“合并报表”中,点击点击文件菜单的“工具”菜单,选择“宏”—“宏” 出现宏界面,点击选择“合并工作表”,然后点击“执行”。就能达到汇总的效果。
先复制一家的工作簿作为汇总工作簿,再打开第2家工作簿,点击“录制宏”(2007左下角有一个带红点的表格样图标按钮就是录制宏的开关,2000菜单为“工具-宏-录制新宏”),再将每个工作表复制,以“选择性粘贴-数值-加”方式粘贴到对应的汇总簿表单,全部完成后,停止录制宏,进入宏编辑器(2007菜单为开发工具,2000菜单“工具-宏-编辑器”),修改其中有第2家工作簿名称的参数,如:将workbooks("第2家报表.xls")改为activeworkbook,之后,再打开依次打开其余工作簿,每打开一个,就运行一次宏(按alt+f8可以看到宏名称,点击“执行”即可)。 也可自行编辑一个宏过程,先进入宏编辑器,选中汇总簿名称,点击菜单“插入- 模块”,双击插入的宏模块,就可以编写下面的宏过程了: sub 汇总报表() a=thisworkbook.fullname b=thisworkbook.name c=left(a,len(a)-len(b)) '取得汇总簿所在路径 if right(c,1)<>"\" then c=c+"\" set y=createobject("scripting.filesystemobject") set d=y.getfolder(c) set f=d.files for each k in f '检查和处理每个文件 if (lcase(right(k.name,3))="xls") and (k.name<>thisworkbook.name) then '如果是2007,扩展名为xlsx,就将上句中“3))="xls"”改为“4))="xlsx"” m=c+k.name workbooks.open m '打开要汇总的文件 for each s in activeworkbook.sheets '检查处理每个表单 s.select x=s.name cells.copy '复制并选择相加式数值粘贴到对应表单 thisworkbook.sheets(x).range("a1").pastespecial paste:=xlvalues, operation:=xladd next s activeworkbook.close false '关闭已处理文件 end if next k end sub 编写完毕,全选汇总簿所有表单和全部区域,一次性删除(清空)后,即可运行,运行完毕即可一次性完成全部汇总工作。 注意:这里假设的是所有数据都是加总求和,没有计数和平均值,所有文字项都不作处理,运行前保证全部报表与汇总簿在同一文件夹内,文件夹没有无关文件,所有报表拥有完全相同的文件类型、表单名称和格式。如果汇总簿是2007的xlsx文件,保存后,宏过程会自动丢失。