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数据。
热门推荐
气凝胶:未来保暖神器?
羽绒服:冬季保暖神器,预防感冒有奇效!
诉讼指南之诉讼代理人
太原一日游必打卡:双塔寺+山西博物院
探秘晋祠:太原不可错过的文化瑰宝
夏日清凉午餐:凉拌黄瓜&西瓜沙拉,你更爱哪个?
30分钟搞定!三款营养美味的快手午餐
两道营养美味的家常菜:胡萝卜炖羊肉和酱爆小河虾
视力不达标?这些方法助你圆梦警校!
2025考警校必看!如何通过眼科护理提升视力?
如何提升视力,圆你的警校梦?
2025年昆明食品销售行业财运指南:野生菌、冻品、特色食品三大赛道解析
参军退役后,士兵到底能拿多少钱?拿到退伍费,三类事千万不要做
九华山秋冬美景打卡攻略:4处绝美景点+摄影技巧详解
邂逅九华山的冬日童话:礼佛、赏雪两相宜
九华山:千年佛国的神秘传说
蜘蛛不是昆虫?真相揭秘!
保护蜜蜂,守护地球生态平衡
南京古生物所揭秘:昆虫如何改变地球生态系统?
日本自由行实用指南:从预算到生活细节全攻略
日本水果为什么贵得离谱?
鱼腥草的功效与食用方法:中医专家详解4大功效及禁忌
艾宾浩斯遗忘曲线:考研复习的科学指南
温州百丈漈一日游攻略
春节全家福:拍出幸福的味道
王老师的摄影秘籍:轻松拍好全家福!
新春全家福:定格幸福瞬间
新年拍全家福,这些小技巧让你的照片更温馨!
过年拍全家福,这些小窍门你get了吗?
放屁很臭怎么办?原因分析与改善建议