Excel精英培训网

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

[已解决]能否根据汇总表批量生成一批打分表,小白求助

[复制链接]
发表于 2015-12-18 08:43 | 显示全部楼层 |阅读模式
本帖最后由 笑看天下 于 2015-12-18 09:48 编辑

现在需要将基本情况表格里的内容对应贴到打分表里,并且按照打分表的格式命名(组号 类别 "打分表“),能否批量生成,望各位大神不吝赐教
最佳答案
2015-12-18 12:23
重新优化了下,总表扩展后也能正常使用
  1. Sub 设置批量表()
  2. Dim arr, i&, j&, Sht As Worksheet, Wb As Workbook
  3. Application.DisplayAlerts = False
  4. Application.ScreenUpdating = False
  5. Sheets(1).Activate
  6. arr = [a1].CurrentRegion

  7. Sheets("模板").Copy after:=Sheets(Sheets.Count)
  8. Set Sht = ActiveSheet
  9. For i = 2 To UBound(arr)
  10.     Sht.Name = arr(i, 1) & " " & arr(i, 2) & " 打分表"
  11.     [b1] = arr(i, 1)
  12.     [b2] = arr(i, 2)
  13.     For j = 3 To UBound(arr, 2)
  14.         Cells(j + 1, 1) = arr(i, j)
  15.     Next
  16.     Sht.Copy
  17.     Set Wb = ActiveWorkbook
  18.     Wb.SaveAs ThisWorkbook.Path & "" & Sht.Name & ".xlsx"
  19.     Wb.Close True
  20. Next
  21. Sheets(3).Delete
  22. Sheets(1).Select
  23. Application.ScreenUpdating = True
  24. Application.DisplayAlerts = True
  25. End Sub
复制代码

求助.zip

12.91 KB, 下载次数: 12

只放了几个,实际工作中数量更多

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-12-18 09:51 | 显示全部楼层
只要表头不要值?

不论要那样,都是可以的,只不过你的附件里没有效果说明,没办法给你做。
回复

使用道具 举报

发表于 2015-12-18 11:15 | 显示全部楼层
  1. Sub 设置批量表()
  2. Dim arr, i&, j&, Sht As Worksheet, Wb As Workbook
  3. Application.DisplayAlerts = False
  4. Application.ScreenUpdating = False
  5. Sheets(1).Activate
  6. arr = [a1].CurrentRegion

  7. Sheets("模板").Copy after:=Sheets(Sheets.Count)
  8. Set Sht = ActiveSheet
  9. For i = 2 To UBound(arr)
  10.     Sht.Name = arr(i, 1) & " " & arr(i, 2) & " 打分表"
  11.     [b1] = arr(i, 1)
  12.     [b2] = arr(i, 2)
  13.     [a4] = arr(i, 3)
  14.     [a5] = arr(i, 4)
  15.     [a6] = arr(i, 5)
  16.     [a7] = arr(i, 6)
  17.     Sht.Copy
  18.     Set Wb = ActiveWorkbook
  19.     Wb.SaveAs ThisWorkbook.Path & "" & Sht.Name & ".xlsx"
  20.     Wb.Close True
  21. Next
  22. Sheets(3).Delete
  23. Sheets(1).Select
  24. Application.ScreenUpdating = True
  25. Application.DisplayAlerts = True
  26. End Sub
复制代码

基本情况汇总表.rar

18.5 KB, 下载次数: 4

回复

使用道具 举报

发表于 2015-12-18 12:23 | 显示全部楼层    本楼为最佳答案   
重新优化了下,总表扩展后也能正常使用
  1. Sub 设置批量表()
  2. Dim arr, i&, j&, Sht As Worksheet, Wb As Workbook
  3. Application.DisplayAlerts = False
  4. Application.ScreenUpdating = False
  5. Sheets(1).Activate
  6. arr = [a1].CurrentRegion

  7. Sheets("模板").Copy after:=Sheets(Sheets.Count)
  8. Set Sht = ActiveSheet
  9. For i = 2 To UBound(arr)
  10.     Sht.Name = arr(i, 1) & " " & arr(i, 2) & " 打分表"
  11.     [b1] = arr(i, 1)
  12.     [b2] = arr(i, 2)
  13.     For j = 3 To UBound(arr, 2)
  14.         Cells(j + 1, 1) = arr(i, j)
  15.     Next
  16.     Sht.Copy
  17.     Set Wb = ActiveWorkbook
  18.     Wb.SaveAs ThisWorkbook.Path & "" & Sht.Name & ".xlsx"
  19.     Wb.Close True
  20. Next
  21. Sheets(3).Delete
  22. Sheets(1).Select
  23. Application.ScreenUpdating = True
  24. Application.DisplayAlerts = True
  25. End Sub
复制代码

根据总表批量设置分表.rar

18.63 KB, 下载次数: 22

回复

使用道具 举报

 楼主| 发表于 2015-12-18 15:00 | 显示全部楼层
sry660 发表于 2015-12-18 12:23
重新优化了下,总表扩展后也能正常使用

万分感谢大神的帮助,工作瞬间变得好简单
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 14:37 , Processed in 0.298010 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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