Excel精英培训网

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

[已解决]数据拆分

[复制链接]
发表于 2016-7-28 23:39 | 显示全部楼层 |阅读模式
我的表格里有400多条记录,我想把这400多条记录拆分成400张一样的表格(带有标题行和一行数据),数据筛选我不太会用了,在线求解!谢谢!
最佳答案
2016-7-29 10:09
  1. Sub Macro1()
  2. On Error Resume Next
  3. Set sht = Sheets("数据源")
  4. arr = sht.Range("a1").CurrentRegion
  5. n = UBound(arr, 2)
  6. Application.DisplayAlerts = False
  7. For Each sh In Sheets
  8.     If sh.Name <> "数据源" Then sh.Delete
  9. Next
  10. Application.DisplayAlerts = True
  11. For i = 2 To UBound(arr)
  12.     If Not Sheets(arr(i, 1)) Is Nothing Then
  13.         With Sheets.Add(after:=Sheets(Sheets.Count))
  14.             sht.[a1].Resize(1, n).Copy .[a1]
  15.             sht.Cells(i, 1).Resize(1, n).Copy .[a2]
  16.             .Name = arr(i, 1)
  17.         End With
  18.     End If
  19. Next
  20. sht.Activate
  21. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-7-29 10:09 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. On Error Resume Next
  3. Set sht = Sheets("数据源")
  4. arr = sht.Range("a1").CurrentRegion
  5. n = UBound(arr, 2)
  6. Application.DisplayAlerts = False
  7. For Each sh In Sheets
  8.     If sh.Name <> "数据源" Then sh.Delete
  9. Next
  10. Application.DisplayAlerts = True
  11. For i = 2 To UBound(arr)
  12.     If Not Sheets(arr(i, 1)) Is Nothing Then
  13.         With Sheets.Add(after:=Sheets(Sheets.Count))
  14.             sht.[a1].Resize(1, n).Copy .[a1]
  15.             sht.Cells(i, 1).Resize(1, n).Copy .[a2]
  16.             .Name = arr(i, 1)
  17.         End With
  18.     End If
  19. Next
  20. sht.Activate
  21. End Sub
复制代码

新建 Microsoft Excel 工作表.rar

10.99 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 07:21 , Processed in 0.251454 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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