ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 87785862

[求助] 有偿求助

[复制链接]
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2017-5-29 10:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2017-5-29 10:40 | 显示全部楼层
生成工作簿……

  1. Sub lkyy()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. myr = Range("a10000").End(3).Row
  4. For i = 1 To myr Step 36
  5.     If Cells(i, "p") <> "" Then d(Cells(i, "p").Value) = i
  6. Next
  7. If d.Count = 0 Then MsgBox "不存在": Exit Sub
  8. Application.DisplayAlerts = False
  9. Sheets.Copy after:=Sheets("Page1")
  10. ActiveSheet.Name = "复制"
  11. With Sheets("复制")
  12.     .Range("a1:v" & myr).ClearContents
  13.     .Range("a37:v" & myr).Borders.LineStyle = 0
  14.     For Each shp In .Shapes
  15.         If TypeName(shp) = "Shape" Then shp.Delete
  16.     Next
  17. End With
  18. For i = 0 To d.Count - 1
  19.     Set wb = Workbooks.Add
  20.     wb.SaveAs ThisWorkbook.Path & "" & d.keys()(i) & ".xlsx"
  21.     ThisWorkbook.Sheets("复制").Copy wb.Sheets(1)
  22.     With wb.Sheets("复制")
  23.         .Range("1:36").RowHeight = 20.75
  24.         ThisWorkbook.Sheets("Page1").Cells(d.items()(i), 1).Resize(36, 22).Copy .[a1]
  25.         .Name = d.keys()(i)
  26.     End With
  27.     wb.Close 1
  28. Next
  29. Set d = Nothing
  30. ThisWorkbook.Sheets("复制").Delete
  31. Application.DisplayAlerts = True
  32. End Sub
复制代码

g5fda.zip

75.82 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2017-5-29 19:51 | 显示全部楼层
请测试结果及结果条码
  1. Sub dex()
  2. Dim wk As Workbook
  3. Dim sh As Worksheet
  4. Dim i, r
  5. Dim sp As Shape
  6. Application.ScreenUpdating = False
  7. r = Cells(Rows.Count, 1).End(xlUp).Row
  8. Set sh = ActiveSheet
  9. For i = 1 To r - 1 Step 36
  10.     Set wk = Workbooks.Add
  11.     sh.Copy Before:=wk.Sheets(1)
  12.     For Each sp In wk.Sheets(1).Shapes
  13.         If sp.TopLeftCell.Row <> i And sp.TopLeftCell.Row <> i + 1 Then sp.Delete
  14.         
  15.         
  16.     Next sp
  17.     If i = 1 Then
  18.         wk.Sheets(1).Rows("37:" & r).Delete
  19.     Else
  20.         wk.Sheets(1).Rows("1:" & i - 1).Delete
  21.         wk.Sheets(1).Rows("37:" & r).Delete
  22.     End If
  23.     wk.SaveAs ThisWorkbook.Path & "" & wk.Sheets(1).Cells(1, "P") & ".xlsx"
  24.     wk.Close True
  25. Next i
  26. Application.ScreenUpdating = True
  27. End Sub
复制代码

test.rar

67.27 KB, 下载次数: 0

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

本版积分规则

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

GMT+8, 2024-4-27 22:28 , Processed in 0.034272 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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