Excel精英培训网

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

[已解决]VBA拆分工作表

[复制链接]
发表于 2013-5-21 21:58 | 显示全部楼层 |阅读模式
见附件 希望按照A列将工作表拆成BJ SH CQ HZ 四个工作薄,每个工作薄就是一张sheet,内容 Index.rar (23.12 KB, 下载次数: 21)
发表于 2013-5-21 22:18 | 显示全部楼层    本楼为最佳答案   
楼主:是不是想要这样的?见附件!
  1. Sub 工作薄总表拆分多工作表()
  2. Dim r%, j%, rng As Range, rngs As Range, sht As Worksheet, d As Object
  3. Application.DisplayAlerts = False '禁止弹出对话框
  4. Application.ScreenUpdating = False '屏蔽屏幕刷新
  5. Set zbst = Sheets("test") '以下可用zbst替代Sheets("sest")
  6. Set d = CreateObject("scripting.dictionary") '字典
  7. For Each rng In Range("a2:a" & zbst.[a65536].End(3).Row) 'rng遍历a列第2行及以下有数据单元格
  8. If Not d.exists(rng.Value) Then d.Add (rng.Value), Nothing 'a列第2行及以下数据去重复
  9. Next
  10. k5 = d.keys

  11. For Each sht In Sheets '遍历此薄下的所有工作表
  12. If sht.Name <> "test" Then sht.Delete '删除不是“test”的其他表格
  13. Next


  14. For Each na In d.keys '遍历字典里的内容
  15. Sheets.Add(, zbst).Name = na '新建字典中储存内容为名字的工作表
  16. zbst.Activate
  17. zbst.[a1:g1].Copy Sheets(na).[a1:g1] '复制标题
  18. For Each rangs In zbst.Range("a2:e" & zbst.[a65536].End(3).Row) 'rangs遍历a列第2行及以下有数据单元格
  19. If rangs.Value = na Then '如果rangs等于,就……
  20. r = r + 1 '计数,为下面写入单元格中数据时,行变化
  21. For j = 1 To 7 '为下面写入单元格中数据时,列变化
  22. Sheets(na).Cells(r + 1, 8 - j) = zbst.Cells(rangs.Row, 8 - j) '把满足条件数据写入表中
  23. Next
  24. End If


  25. Next


  26. r = 0 '为的是重新计数,满足条件的数据都能写入新表第二行
  27. Next
  28. Application.DisplayAlerts = True '恢复弹出对话框
  29. Application.ScreenUpdating = True '屏幕刷新
  30. MsgBox "总表拆分完成!", 64 '弹出总表拆分完成!对话框
  31. End Sub
复制代码

工作簿拆分多表.rar

27.34 KB, 下载次数: 57

回复

使用道具 举报

 楼主| 发表于 2013-5-22 21:10 | 显示全部楼层
ligh1298 发表于 2013-5-21 22:18
楼主:是不是想要这样的?见附件!

谢谢老师! 工作表的内容是对了 可是我是想拆成四个工作薄不是工作表 怎么解决呢
回复

使用道具 举报

发表于 2013-9-3 14:37 | 显示全部楼层
代码写的很详细,今天正要解决一个拆分的问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 05:17 , Processed in 0.271493 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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