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数据。
热门推荐
施工进度计划的调整包括哪些内容?如何优化施工进度计划?
小米多款旗舰机型终止系统更新支持,包括小米MIX 4和红米K40等
这些年背过的面试题 —— 架构设计篇
古代“连弩”:机械巧思铸就的战场利器
服务器远程服务繁忙,如何应对?
庞统与诸葛亮:齐名背后的智慧与功绩
告别电池焦虑!一篇文章教你正确设置手机充电限值
深度学习为什么会用到概率论?概率论有什么用?
宋汝窑与清仿汝窑葫芦瓶
人民币兑越南盾哪里兑换最划算?
越南货币兑换方式,越南盾面值、ATM、兑换攻略
刘备进位汉中王的奏表中,诸葛亮仅排名第五,前四位大臣都是谁?
房产税实施细则(房产税实施细则税屋)
微信自助解封的解封效果与账号风险评估关系如何
老牌工业城市石家庄如何“向新而行”?
本-怀特:踢球只是打工 下班后远离足球想干啥就干啥
如何简化工作流程优化过程?
从文人图腾到生活礼赞:王雪涛红梅画作的演变
网贷平台可以协商还款吗?有哪些技巧?
8 招教你轻松解决 Windows 11 应用、图像和字体模糊不清晰
孕检自闭症筛查:五种医学检查方法详解
先天性自闭症是什么原因引起的
日本留学费用详解:学费、生活费及奖学金指南
日本不同学校留学的费用全攻略
如何选择一个高端的别墅项目?怎样评估别墅项目的投资潜力?
细胞夹清理黑头:效果与使用指南
心律平的副作用
如何评估汽车保险费用的合理性?
影响车险保费的因素
如何开发一款学围棋的软件