Excel宏功能快速合并多个工作表的详细教程
创作时间:
作者:
@小白创作中心
Excel宏功能快速合并多个工作表的详细教程
引用
1
来源
1.
https://www.jiandaoyun.com/article/post/45422.html
在处理大量数据时,经常需要将多个Excel工作表合并到一个工作表中进行数据分析。手动复制粘贴不仅效率低下,还容易出错。本文将详细介绍如何使用Excel的宏功能快速实现多个工作表的合并,让数据处理工作事半功倍。
操作步骤
原始数据准备:原始数据所在工作簿包含多个格式相同的工作表,每个工作表的内容不同,例如不同人名或不同部门的数据。
新建工作簿:在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。
进入VBA编辑界面:按
Alt+F11进入VBA代码编辑和调试界面。插入模块:根据提示插入一个模块。
粘贴VBA代码:将以下代码粘贴到模块空白处:
Sub CombineSheetsCells()
Dim wsNewWorksheet As Worksheet
Dim cel As Range
Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant
Dim TitleRow, TitleColumn As Range
Dim Num As Integer
Dim DataRows As Long
DataRows = 1
Dim TitleArr()
Dim Choice
Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$
Dim n, i
n = 1
i = 1
Application.DisplayAlerts = False
Worksheets("合并汇总表").Delete
Set wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
wsNewWorksheet.Name = "合并汇总表"
MyFileName = Application.GetOpenFilename("Excel工作薄 (*.xls*),*.xls*")
If MyFileName = "False" Then
MsgBox "没有选择文件!请重新选择一个被合并文件!", vbInformation, "取消"
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:="请选择要合并的数据区域:", Type:=8)
AddressAll = DataSource.Address
ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
SourceDataRows = Selection.Rows.Count
SourceDataColumns = Selection.Columns.Count
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To Num
ActiveWorkbook.Sheets(i).Activate
ActiveWorkbook.Sheets(i).Range(AddressAll).Select
Selection.Copy
ActiveSheetName = ActiveWorkbook.ActiveSheet.Name
Workbooks(ThisWorkbook.Name).Activate
ActiveWorkbook.Sheets("合并汇总表").Select
ActiveWorkbook.Sheets("合并汇总表").Range("A" & DataRows).Value = ActiveSheetName
ActiveWorkbook.Sheets("合并汇总表").Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
DataRows = DataRows + SourceDataRows
Workbooks(MyName).Activate
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
Workbooks(MyName).Close
End Sub
插入窗体控件:在“首页”工作表中插入一个窗体控件,并指定宏为插入的代码名称。
选择原始数据工作簿:点击“首页”工作表中插入的按钮,浏览到原始数据工作簿。
选择数据范围:用鼠标选择要合并的数据范围。注意,每个工作表数据可能不一样,可以选择一个较大的范围,例如A1:D100。
运行代码:点击确定按钮,代码运行完毕后,所有数据将合并到“合并汇总表”中。A列的文本说明右侧的数据来自于原始数据表的哪个工作表。
删除空行:选中全部数据区域,执行自动筛选。选择其中一个字段,选择“空白”和标题内容,然后删除筛选出来的无用行。
完成合并:删除A列整列,完成数据合并。
通过以上步骤,可以快速将多个Excel工作表合并到一个工作表中,大大提高了数据处理的效率。希望这个方法能帮助大家更好地处理Excel数据。
热门推荐
广东合并成功的大学:从三流本科变成全国100强,堪称逆袭典范!
无锡亲子游必打卡:灵山小镇拈花湾&融创乐园
冬日游园指南:苏州园林 vs 无锡太湖,哪个更适合旅游?
美国表现出色,中国追赶前景或将暗淡
跟着田边诚一探秘京杭大运河
旋转拖把换头大揭秘:居家清洁神器!
呼叫转移技巧大揭秘:联通用户必看!
甜心超人新作上映倒计时!黑化危机引发全城瞩目
《开心超人之英雄的心》:甜心超人的正义成长之路
没钱的银行卡是“销户”还是“留着”?幸亏银行朋友提醒,少吃亏
通过父母血型推测子女血型的简单方法
永嘉麦饼:从千年小吃到亿元产业
温州十大特色小吃:从街头小吃到世界美食之都的名片
定期银行利率和活期利率有什么区别?详解两者之间的差异
水煮蛋时间?可以放多久?水煮蛋热量及料理保存一次看
青少年自杀行为的心理预防与干预
电动三轮车锂电池选购指南:技术、品牌、安全全解析
绿皮车省钱攻略:硬座也能躺平?
CR200J上线,硬座变二等座!
北京事业编薪资:年轻人的编制纠结症
北京事业单位薪资揭秘:月薪18000元,这些因素决定你的收入
职场新人如何优雅拒绝领导劝酒?
平江路到山塘街:一条承载千年记忆的文化长廊
无酒精鸡尾酒:告别酒精危害,尽享健康微醺
戒酒后,你的生活会发生这些意想不到的变化
日羊最简单的方法:如何通过基本的养护技巧提高羊群健康和产量?
波尔山羊的养殖方法
菠萝蜜椰香糯米饭:年夜饭餐桌上的新宠
清远至贵州自驾游完整路线指南及沿途景点攻略
用《周易》智慧化解家庭矛盾,让亲情更和谐