建站优化

当前位置:

excel将多个工作表数据内容合并到一个工作表

浏览量:103次

excel将多个工作表数据内容合并到一个工作表

方法一 01

利用VBA将数据区域不定的多个工作表数据快速合并到一个工作表。 分别有工作表1、2、3数据区域,如下图所示:

02

按ALT+F11打开VBE编辑器,在工程窗口下的Microsoft Excel对象右键-插入-模块,新建一个模块1。

03

输入如下代码: OptionExplicit Subhbgzb() DimshAsWorksheet,flagAsBoolean,iAsInteger,hrowAsInteger,hrowcAsInteger flag=False Fori= IfSheets(i).Name="合并数据"Thenflag=True Next Ifflag=FalseThen Setsh= ="合并数据" Sheets("合并数据").Moveafter:=Sheets() EndIf Fori= IfSheets(i).Name<>"合并数据"Then hrow=Sheets("合并数据"). hrowc=Sheets("合并数据"). If hrowc = 1 Then Sheets(i).("合并数据").Cells(hrow,1).End(xlUp) Else Sheets(i).("合并数据").Cells(hrow+hrowc-1,1).Offset(1,0) EndIf EndIf Nexti EndSub

04

按ALT+F8打开宏对话框窗口,鼠标单击执行hbgzb宏。

05

实现如图所示效果:

06

说明:本段VBA代码由于将编辑过的区域作为源数据区域,顾无论该数据源有无数据,只要曾经编辑过皆做为源数据源,做拷贝处理。

方法二 01

适用于工作表数量不多,数据量不大的情况。 如下图所示,我们可以发现,各个地区的工作表模板都是一致的。

02

可以通过在汇总表中使用【=工作表!单元格】获取数据,并通过向右、向下填充数据行。

03

当一个工作表数据填充完成后,往下的数据行值为0,此时,切换第二个工作表继续进行填充,直至填充完毕。

04

结果如下图所示:

方法三 01

适用于工作表数量多,数据量大的情况。 新建名称DQ,引用位置输入公式【=RIGHT((1),LEN((1))-FIND("]",(1)))】,用于提取多个工作表名称。

02

在汇总表中增加辅助列,输入公式【=INDEX(DQ,INT((ROW(A2)-1)/10)+1)】,往下填充,每个工作表名称被引用10行。 注意:被引用行按需调整,如每个工作表名称需生成50行,调整公式中的10,改为50即可。

03

填充第一行数据,输入公式【=INDIRECT($A2&"!"&ADDRESS(COUNTIF($A$2:$A2,$A2)+1,COLUMN(A2)))】往右填充,完成第一行的填充。 说明:通过ADDRESS函数,定位到第二行第一列,即A2单元格;整个公式的意思是引用工作表【广州】中的A2单元格,值为“广州”。

04

往下填充,当一个工作表数据填充完成后,往下的数据行值为0,批量删除值为0的行即可。

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。