excel指定工作表中的指定列快速顺序合并的方法

 时间:2024-11-08 04:51:10

有的时候我们需要将excel多个工作表中相同的某一列擢爻充种的数据提取出来合并汇总入一个工作表中,当然我们可以用复鲽判砦吟制、粘贴的方式来完成,但是如果工作表数量很多,那么复制、粘贴的方法效率显然很差,这时本文所介绍的VBA的方法不失为一种好的解决方法。

excel指定工作表中的指定列快速顺序合并的方法

工具/原料

excel

VBA

方法/步骤

1、分别有工作表4,数据如下图示:

excel指定工作表中的指定列快速顺序合并的方法

excel指定工作表中的指定列快速顺序合并的方法

excel指定工作表中的指定列快速顺序合并的方法

excel指定工作表中的指定列快速顺序合并的方法

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

excel指定工作表中的指定列快速顺序合并的方法

3、粘贴如下代码:OptionExplicitSub咯悝滩镞columncopy()DimcAsString,shAsWorksheet,iAsInte爿讥旌护ger,flagAsBoolean,bAsString,arr,lAsInteger,jAsInteger,minAsInteger,maxAsIntegerflag=Falsec=InputBox("请输入列号,如:A、B、C……","列号输入(请输入大写字母)")Fori=1ToSheets.CountIfSheets(i).Name="第"&c&"列合并数据"Thenflag=TrueNextIfflag=FalseThenSetsh=Worksheets.Addsh.Name="第"&c&"列合并数据"Sheets("第"&c&"列合并数据").Moveafter:=Sheets(Sheets.Count)EndIfb=InputBox("请指定需合并列的工作表,多张连续表请用“-”隔开,多张不连续表请用“,”隔开,如:1,2,3-5,6等。","指定工作表(请输入数字)")arr=Split(b,",",-1,vbTextCompare)IfSheets("第"&c&"列合并数据").Range("iv1").End(xlToLeft).Column=1Thenl=Sheets("第"&c&"列合并数据").Range("iv1").End(xlToLeft).ColumnElsel=Sheets("第"&c&"列合并数据").Range("iv1").End(xlToLeft).Column+1EndIfFori=0ToUBound(arr)IfInStr(arr(i),"-")Thenmin=Split(arr(i),"-",-1,vbTextCompare)(0)max=Split(arr(i),"-",-1,vbTextCompare)(1)Forj=minTomaxSheets(j).Columns(c&":"&c).CopyDestination:=Sheets("第"&c&"列合并数据").Cells(1,l)l=l+1NextjElseSheets(CInt(arr(i))).Columns(c&":"&c).CopyDestination:=Sheets("第"&c&"列合并数据").Cells(1,l)l=l+1EndIfNextEndSub

excel指定工作表中的指定列快速顺序合并的方法

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

excel指定工作表中的指定列快速顺序合并的方法

5、在弹出的“列号输入(请输入大写字母)”对话框中输入所需的列号(笔者测试输入:“B”列),点确定。

excel指定工作表中的指定列快速顺序合并的方法

6、在弹出的“指定工作表(请输入数字)”对话框中按照要求输入所需的工作表(笔者测试输入:“1,2-3,4”即为第1,2至3,4张工作表),点确定。

excel指定工作表中的指定列快速顺序合并的方法

7、最后得到如图示的效果。

excel指定工作表中的指定列快速顺序合并的方法

excel怎么批量增加固定文字 如何让表格当中的数据强制换行? EXCEL中如何快速查找出所有的合并单元格 在Excel中怎么将前几项单元格特别显示? 如何EXCEL通过第几周获得日期或者天(星期几)
热门搜索
攻受漫画 可爱猪猪图片 挖机图片 油画棒画图片大全 车标图片