ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 330|回复: 15

求助大侠写个总表拆分代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-13 21:48 | 显示全部楼层 |阅读模式
由于前两次没有明确需求细节,导致写好的代码不能用,在此感谢要论坛里的热心老师ykcbf1100,多次帮助和指导再次表示感谢。

现在重新整列需求,请老师们给重新写个代码。
需求:
1.表2的数据按业户名称进行拆分,数据填入对应模版预警及处理情况行里,并在风险预警行里统计出各项警情数量

2.拆分时自动新建一个文件夹,把拆分好的文件放入新建的文件夹里,文件按名称按月报表+年月日时间到分钟;拆分后的新表保存PDF格式,表名称按数据年月+按业户名,

3.表4的数据对应业户填入上月对比情况行里,

4.表3的数据统计该业户车辆数量,在线车辆、在线情况等填入上线情况行里
每个表的数据大概有两三千行

微信图片_20240713214536.png

统计报表改000.rar

64.57 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-7-13 22:17 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-13 23:39 | 显示全部楼层
wang-way 发表于 2024-7-13 22:17
三个帖子了还没有解决问题?

没有。                 

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-13 23:42 | 显示全部楼层
wang-way 发表于 2024-7-13 22:17
三个帖子了还没有解决问题?

开始需求定位错误,还没解决

TA的精华主题

TA的得分主题

发表于 2024-7-14 10:09 | 显示全部楼层
需求是基本上弄清楚了,但是,这个问题,涉及到增加行,减少行,还有很多项目的累计数量等等,代码量太多,工作量很大,没有几个小时的时间和精力是搞不定的

TA的精华主题

TA的得分主题

发表于 2024-7-14 10:44 | 显示全部楼层
工作量有点大,定制可联系qq:55256075

TA的精华主题

TA的得分主题

发表于 2024-7-14 10:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.jpg
image.jpg

TA的精华主题

TA的得分主题

发表于 2024-7-14 10:55 | 显示全部楼层
附件为生成的PDF文件,没有代码

统计报表改000.zip

616.47 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2024-7-14 11:23 | 显示全部楼层
  1. Sub main()

  2.     Dim source_arr, temp_arr, ws_name_arr
  3.     Dim cnt%, i%, j%, k%, ws_cnt%, end_row%
  4.     Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
  5.    
  6.     Set ws1 = Worksheets("基础数据源")
  7.     Set ws2 = Worksheets("加工合同模板")
  8.    
  9.    
  10.     ' 读取数据源
  11.     end_row = ws1.Range("P66356").End(xlUp).Row
  12.     source_arr = ws1.Range("A5:P" & end_row)
  13.    
  14.     ' 在合同模板中写入基础信息
  15.     For i = 1 To UBound(source_arr)
  16.         ' 将合同另存为新sheet,并改名为受托方
  17.         ws2.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
  18.         Set ws3 = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
  19.         
  20.         ' 统计内容的行数
  21.         cnt = 0
  22.         For j = i To UBound(source_arr)
  23.             cnt = cnt + 1
  24.             If j = end_row - 4 Then
  25.                 Exit For
  26.             Else
  27.                 If Len(source_arr(i + cnt, 2)) Then
  28.                     Exit For
  29.                 End If
  30.             End If
  31.         Next j
  32.         
  33.         With ws3
  34.             .Cells(2, "L") = source_arr(i, 2)       ' 合同号
  35.             .Cells(6, "B") = source_arr(i, 5)       ' 受托方
  36.             .Cells(7, "B") = source_arr(i, 3)       ' 地址
  37.             .Cells(8, "B") = source_arr(i, 4)       ' 电话
  38.             
  39.             ' 判断合同模板的数据行数是否足够
  40.             If cnt > 20 Then
  41.                 For j = 1 To cnt - 20
  42.                     .Rows(32).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  43.                 Next j
  44.             End If
  45.             
  46.             ' 将该合同号下的数据写入temp_arr
  47.             ReDim temp_arr(1 To cnt, 1 To 11)
  48.             k = 1
  49.             Do While k <= cnt
  50.                 For j = 1 To 11
  51.                     temp_arr(k, j) = source_arr(i, j + 5)
  52.                 Next j
  53.                 i = i + 1
  54.                 k = k + 1
  55.             Loop
  56.             ' 将temp_arr写入合同的数据区域
  57.             .Cells(13, "A").Resize(UBound(temp_arr, 1), UBound(temp_arr, 2)) = temp_arr
  58.             
  59.             ' 修改sheet名
  60.             ws_cnt = ws_cnt + 1
  61.             ws3.Name = ws_cnt & "_" & ws3.Cells(6, "B")
  62.         End With
  63.         
  64.         i = i - 1
  65.         
  66.     Next i
  67.    
  68.    
  69. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-7-14 11:25 | 显示全部楼层
链接:https://pan.baidu.com/s/1C0UeJRnqkmo6gCMtemEzBg?pwd=6666
提取码:6666
复制这段内容后打开百度网盘手机App,操作更方便哦
文件名:VBA011-分发数据到模板并保存为PDF
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 02:23 , Processed in 0.042665 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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