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数据。
热门推荐
电脑适配器能否托运?一文带您了解相关规定与注意事项
提升AI绘画的逼真度:实现更真实的画作
山海经中的帝俊:上古天帝的神话传奇
开车出门找不到停车位怎么办?教你4个办法,不为找车位发愁
不知火舞玩法大揭秘:掌握这些技巧,让你在游戏中大放异彩!
老师傅教你用5种料制作火锅汤底,好吃又健康,味道不输火锅店
一人有限责任公司如何设立
胡塞武装袭击扰乱全球供应链
监事会如何监督高管团队
衣服静电怎么处理最好?有效去除衣物静电的方法有哪些?
功耗降低、性能提升!我国科学家发明新型“热发射极”晶体管
4S店可以办理临牌吗?临牌办理指南
安检员管理创新项目有哪些
数字化转型业务流程再造的成本估算与优化策略
猫咪疫苗全攻略!这3针不打等于埋雷,90%养猫人都搞错了时间
网站运营中的内容策略:如何制定内容策略
需求与供给 – 影响市场的经济基本法则
《浪姐2》那英和杨钰莹:两种互为映照的不同人生
吃下这六口火锅,新的一年红红火火
考研复试面试常见问题及回答技巧——为何选择我们学校/专业
世界首款男性避孕针通过III期临床试验,预计近月内上市
颈椎病(CMS) | 诊断与治疗
预埋单与委托区别?
国考和省考的区别
国考行测类比推理中的交叉关系如何解答?
英国国际学生缘何锐减
一文带你了解古代武将的称号:杂号将军和重号将军以及他们的区别
2025年陕西专升本招生考试报名时间和考试时间安排
《笔走龙蛇》 “字”在飞
合肥市蜀山区:做好“文旅+”文章 “破壁出圈”赋能高质量发展