09.Excel+Deepseek实现Excel合并拆分.docx
打工人的逆袭:用VBA彻底摆脱Excel噩梦!
你敢信?每天对着电脑复制粘贴Excel,手指头都快磨出茧子了,领导还嫌慢!我就想问,这年头不学点自动化操作,打工人真得这么累死累活吗?
话说我之前也是个Excel苦手,面对几十个表格合并或拆分的任务,简直要了我的老命。那时候,感觉自己就像个机器人,一天到晚重复着同样的动作——打开文件、复制数据、粘贴数据……眼睛都花了,错误还一大堆。同事们都在抱怨,但似乎大家都觉得这是“正常”的工作量。
直到有一天,我在网上无意间看到了VBA这个神器,当时心里就一个想法:“啥是VBA?”了解之后才发现,原来这就是我一直梦寐以求的解决方案啊!
一、批量合并Excel文件
举例:三个部门分别提交了三份结构相同的Excel文件,领导要求整合成一张表进行分析。
如果按照传统方法,估计得忙活大半天。但是有了VBA代码,只需要运行宏,然后手动选择需要合并的Excel路径,系统就能自动完成任务。虽然第一次使用时遇到了小问题,比如需要手动输入文件夹路径,但这对我来说就像是找到了宝藏的第一块拼图,激动不已。
1.整理数据表格
生成VBA指令
提示词:我想要把多个相同字段的excel表格合并在一个表格上,手动选择要合并的excel表格路径,请生成批量处理的VBA代码。
运行指令
excel菜单栏依次点击开发工具—VisualBasic—模块—将代码粘贴到右边空白编辑区域中—运行
4.运行结果
合并后的:
指令原版:
OptionExplicit
SubMergeExcelFiles()
DimfileDialogAsfileDialog
DimselectedFileAsVariant
DimtargetWorkbookAsWorkbook
DimsourceWorkbookAsWorkbook
DimtargetSheetAsWorksheet
DimsourceSheetAsWorksheet
DimlastRowAsLong
DimlastColumnAsLong
DimstartRowAsLong
DimfileCountAsLong
DimiAsLong
创建文件对话框
SetfileDialog=Application.fileDialog(msoFileDialogFilePicker)
配置文件对话框
WithfileDialog
.Title=选择要合并的Excel文件
.AllowMultiSelect=True
.Filters.Clear
.Filters.AddExcelFiles,*.xlsx;*.xls;*.xlsm,1
.Filters.AddAllFiles,*.*,2
显示文件对话框
If.Show=-1Then
fileCount=.SelectedItems.Count
检查是否选择了文件
IffileCount0Then
创建新的工作簿用于合并结果
SettargetWorkbook=Workbooks.Add
SettargetSheet=targetWorkbook.Sheets(1)
targetSheet.Name=合并结果
设置起始行
startRow=1
处理每个选中的文件
Fori=1TofileCount
获取文件路径
selectedFile=.SelectedItems(i)
打开源工作簿
SetsourceWorkbook=Workbooks.Open(selectedFile,ReadOnl