近期,一位女神同事给小花出了一道难题
机智的小花马上提炼出女神的核心述求
合并工作簿!
工作簿合并后,想怎么计算就怎么计算!!!
方法太多,
但女神的要求是简单,简单,简单!
果断满足她!!!
今天小花就分享一个小白都会的多表合并工具:百合。
一起来操作吧!(后附资源下载。)
准备工作
新建一个Excel工作簿,命名为'百合“(取百张工作簿合并之意),删除多余工作表,仅留下一张表,同样命名为'百合'。
主体工程
按Alt F11或点击开发工具栏中的Visual Basic按钮进入VBE窗口,插入模块,复制粘贴下列代码后,将工作簿保存为启动宏的工作簿(.xlsm)。
代码如下:看不懂代码的小伙伴直接COPY就行了,不必深究!
Sub 百合()
Dim Sf, cb, cs, cd, path
Dim x As Integer
Dim D As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
MsgBox '小花学Excel提醒您' & Chr(10) & '请先关闭所有要合并的工作簿' & Chr(10) & '然后选择要合并的工作簿'
小花学Excel:
Sf = Application.GetOpenFilename(FileFilter:='MicroSoft Excel文件(*.xlsx),*.xlsx', MultiSelect:=True, Title:='请选择要合并的工作簿')
If TypeName(Sf) = 'Boolean' Then
respons = MsgBox('您没有选中任何工作簿,是否重新选择', vbYesNo)
If respons = vbYes Then
GoTo 小花学Excel:
Else: GoTo ExitHandler:
End If
End If
x = 1
While x <= UBound(Sf)
Workbooks.Open Filename:=Sf(x)
cb = ActiveWorkbook.Name
cd = ActiveWorkbook.path
If Sheets.Count > 1 Then
For I = 1 To Sheets.Count
cs = Sheets(I).Name
Sheets(I).Name = Left(cb, InStr(cb, '.') - 1) & '!' & cs
Next I
Else: ActiveSheet.Name = Left(cb, InStr(cb, '.') - 1)
End If
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
x = x 1
Wend
Application.DisplayAlerts = False
Sheets('百合').Visible = False
ActiveWorkbook.SaveAs Filename:=cd & '\百合', FileFormat:=xlWorkbookDefault
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
备注:如果你用的Excel是早期版本或者你要合并的工作簿是.xls格式,请将此处代码中的.xlsx改为.xls。
SHOW TIME
点击开发工具-宏,选中百合,点击运行,按要求选择要合并的工作簿,百合就会自动为你将工作簿合并并保存在原文件夹内。
”百合“工具资源下载:
百度网盘:
http//pan.baidu.com/s/1qYFOuQg
关于多表汇总求和的方法:
函数:
INDIRECT函数
SUM(sheet1:sheet100!A1)(每个表的A1单元格相加)。
工具:合并计算或通过向导创建多表数据透视
唠嗑花
——————
今天这篇文章是小花写得最开心的一篇了,因为它是第一篇直接针对读者需求撰写的文章,因为它能切实解决很多人工作中遇到的难题。分享实用的Excel知识一直是小花秉持的理念,希望我的文章能帮助到越来越多的人!如果小伙伴们有其他感兴趣或疑惑的问题,欢迎留言或发后台消息告诉我们,小花一定竭尽所能!
联系客服