ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1207|回复: 17

[求助] 如何将多工作簿中指定工作表合并为同一工作表且保留一个表头

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-27 23:50 | 显示全部楼层 |阅读模式
我想把多个工作簿中的指定名称的工作表(这些工作表出于同一模板只是填写内容不同而已)合并为一个工作表,并且保留一次表头部分,请教大神该怎么处理?

这里指定的工作表名称是“科室考勤”,表头部分是第3-4行。
考勤.zip (496.51 KB, 下载次数: 13)

TA的精华主题

TA的得分主题

发表于 2023-2-28 06:19 | 显示全部楼层
这种合并论坛里例子非常多,随便搜索一下

TA的精华主题

TA的得分主题

发表于 2023-2-28 07:53 | 显示全部楼层
本帖最后由 shiruiqiang 于 2023-2-28 08:24 编辑

因为你表格里面填充了太多公式,如星期啥的,只能前面四栏复制过来。取巧一下,最后筛选一下吧。医疗机构的随手写一下吧

考勤.rar

498.09 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2023-2-28 07:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
代码有点错误,修正了
image.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-2-28 08:02 | 显示全部楼层
Sub 按钮4_Click()
    Set fso = CreateObject("scripting.filesystemobject")
    x = 0
    Application.ScreenUpdating = False
    w = 5
    For Each f In fso.getfolder(ThisWorkbook.Path).Files
        If InStr(f.Name, ThisWorkbook.Name) = 0 Then
            With Workbooks.Open(f)
                x = x + 1
                If x = 1 Then
                    .Sheets("科室考勤").Copy after:=ThisWorkbook.Sheets(1)
                    Set sh = ThisWorkbook.Sheets(2)
                Else
                    For j = w To sh.Cells(Rows.Count, 2).End(3).Row
                        If Len(sh.Cells(j, 2)) = 0 Then
                            w = j
                            Exit For
                        End If
                    Next j
                    .Sheets("科室考勤").UsedRange.Offset(4).Copy sh.Cells(w, 1)
                End If
                .Close False
            End With
        End If
    Next f
    Application.ScreenUpdating = True
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-2-28 08:03 | 显示全部楼层
供参考。。。。。。。。

考勤.zip

621.75 KB, 下载次数: 21

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-28 10:37 | 显示全部楼层
shiruiqiang 发表于 2023-2-28 07:57
代码有点错误,修正了

完美解决!
大神,我还有一些小问题想请教,如果我只想把第3-4行设置为表头,不要第1-2行,可以修改代码里的哪些变量实现吗?
另外,我原始表里的周末是绿色标注,合并后变成了桔色,并且列宽变了,如果想保持原表的格式设置合并过来麻烦吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-28 10:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liulang0808 发表于 2023-2-28 08:02
Sub 按钮4_Click()
    Set fso = CreateObject("scripting.filesystemobject")
    x = 0

大神,原工作簿合并后完全没有问题,但是如果我先把原来的4个工作簿公式转值或者是删除表格下方的空格后再合并就只能合并部门4里的内容,请问这是为什么啊?

TA的精华主题

TA的得分主题

发表于 2023-2-28 11:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
小灰灰520 发表于 2023-2-28 10:40
大神,原工作簿合并后完全没有问题,但是如果我先把原来的4个工作簿公式转值或者是删除表格下方的空格后 ...

上附件说明吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-28 11:15 | 显示全部楼层

新建文件夹.zip (220.34 KB, 下载次数: 5)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 22:52 , Processed in 0.033388 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表