Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 16815|回复: 50

[已解决]一个工作表拆分为多个工作簿

[复制链接]
发表于 2013-8-21 12:31 | 显示全部楼层 |阅读模式
要求:
    1、拆分后的多个工作簿保存在指定的路径下;
    2、目前工作簿中同名字的工作表拆分后合并到同一个工作簿中,比喻陈英华1、陈英华2、陈英华业绩三个工作表,拆分后生成的工作簿名称叫陈英华.xls,工作簿里面三个工作表分别对应是陈英华1、陈英华2、陈英华业绩;
    3、拆分后生成的工作簿名称替换为工号,比喻说拆分后的工作簿陈英华.xls,进一步生成为310317.xls.

    跪求+坐求答案,望高手指教!!!小弟谢过了~~~~~~~~
最佳答案
2013-8-21 18:39
本帖最后由 殿堂之上 于 2013-8-21 19:11 编辑

你看下,是这样不,还有就是名字要在前面(如李四在李四xxx前),另外不要有象李1,李2这样的,要不会出错。如果有两个一样名的就李1,李1xxx,李2,李2xxx

第二季度考评.rar

14.23 KB, 下载次数: 44

 楼主| 发表于 2013-8-21 12:32 | 显示全部楼层
高手高手高手,谁帮我写个VBA啊???
回复

使用道具 举报

发表于 2013-8-21 12:41 | 显示全部楼层
回复

使用道具 举报

发表于 2013-8-21 12:45 | 显示全部楼层
本帖最后由 我心飞翔410 于 2013-8-21 12:46 编辑
  1. Sub test()
  2. Dim sh As Worksheet
  3.      For Each sh In Worksheets
  4.         sh.Copy
  5.        Set wb = ActiveWorkbook
  6.           wb.SaveAs ThisWorkbook.Path & sh.range(“D2”)
  7.           wb.Close True
  8.       End If
  9.      Next sh
  10.   End If
  11. End Sub
  12. 你把工号改改 全部弄在D2 不然还要改代码
复制代码
回复

使用道具 举报

发表于 2013-8-21 14:34 | 显示全部楼层
1、楼主每个表格的格式都不一样,导致提取工号的单元格会有不同
2、若有一份员工的姓名和工号对应的表格的话,根据姓名提取工作表并按工号保存工作薄就简单多了。
回复

使用道具 举报

发表于 2013-8-21 14:56 | 显示全部楼层
看了以上回复,总结一句话。
想要工作简单,首先要统一格式。
回复

使用道具 举报

 楼主| 发表于 2013-8-21 16:49 | 显示全部楼层
本帖最后由 laicaiqian12 于 2013-8-21 16:55 编辑

看了高人的回帖,发现确实需要优化,新增加了工号对应的名字,在最后一个工作表里面。
但是如果按照名字查找工号,可能会存在一个名字对应多个工号,因为会存在重名,那会有提醒或者解决方法吗?

第二季度考评.rar

19.76 KB, 下载次数: 18

回复

使用道具 举报

 楼主| 发表于 2013-8-21 16:54 | 显示全部楼层
我心飞翔410 发表于 2013-8-21 12:45


看了高人的回帖,发现确实需要优化,新增加了工号对应的名字,在最后一个工作表里面。
但是如果按照名字查找工号,可能会存在一个名字对应多个工号,因为会存在重名,那会有提醒或者解决方法吗?

如果新增加的工号姓名对应表中缺失某些人,可以按照你的意思增加即可,我知道方法就行,因为资料现在不是很全!

第二季度考评.rar

19.76 KB, 下载次数: 13

回复

使用道具 举报

发表于 2013-8-21 16:55 | 显示全部楼层
laicaiqian12 发表于 2013-8-21 16:54
看了高人的回帖,发现确实需要优化,新增加了工号对应的名字,在最后一个工作表里面。
但是如果按照名 ...

想要表达什么意思了 不是很明白

回复

使用道具 举报

 楼主| 发表于 2013-8-21 17:01 | 显示全部楼层
我心飞翔410 发表于 2013-8-21 12:45

你的语法在运行时候提示出错,不知道哪儿出了问题。

我自己弄了个拆分的,但实现不了用工号命名新文件名和同名工作表拆分后在一个工作簿中的功能。

Sub SpliteBook()
    Application.ScreenUpdating = False
    For Each sht In Sheets
        Sheets(sht.Name).Copy
        ActiveWorkbook.SaveAs Filename:="F:\Files\" & sht.Name & ".xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
    Next sht
    Application.ScreenUpdating = True
End Sub

1.jpg
2.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 10:37 , Processed in 0.606047 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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