Excel精英培训网

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

每20行数据,就复制生成出一个模板工作表,然后把对应的20行数据放进到模板去

[复制链接]
发表于 2019-9-24 12:07 | 显示全部楼层 |阅读模式
本帖最后由 lsyong 于 2019-10-14 10:56 编辑

求助帮写个代码,实现,把工作表input 从 B2列到S2列的对应行的数据 (当input表,行数超过20行时)往下, 每20行数据就复制出一个模板,再把这20行数据放到生成出来的模板对应的单元格。
模板不放数据,只做辅助生成模板用, 模板只能输入20行数据

FP-PL.zip

22 Bytes, 下载次数: 4

发表于 2019-9-24 12:33 | 显示全部楼层
本帖最后由 hfwufanhf2006 于 2019-9-24 12:36 编辑

你这压缩文件我提取不了,之前我也偶尔出现过这情况,估计是压缩软件不兼容造成的。不过也可能你文件真有问题,才22B大小,感觉不对劲啊。
回复

使用道具 举报

 楼主| 发表于 2019-9-24 12:51 | 显示全部楼层
重新追加附件

FP-L.zip

42.12 KB, 下载次数: 8

附件

回复

使用道具 举报

发表于 2019-9-24 14:29 | 显示全部楼层
你还是模拟一两个数据呀  都不知道你要那些数据
回复

使用道具 举报

发表于 2019-9-24 14:44 | 显示全部楼层
1、你的模板有问题,input表的数据是b-s列,但模板是A-S列,明显差一列。模板的格式设定也有问题,生成的文件数据显示不正常。你自己调整模板即可,因为生成的文件是从模板复制的,也包括了格式;2、关键的代码段我解释一下:
     hs = 5        '模板的起始行是第5行
     For k = 2 + (js - 1) * 16 To 1 + js * 16   '每个模板保存的最大行数是20,不算标题实际存放数据的行只有16,所以参数都是16的倍数
       For j = 2 To 19    'input的数据列只有B-S共19列,与模板的列数不对应。你修改模板后,如果确实是20列,这里要对应修改
           Worksheets(Worksheets.Count).Cells(hs, j - 1) = Cells(k, j)
       Next j
       hs = hs + 1
     Next k

     下面是文件保存,路径与本文件相同,所以是ThisWorkbook.Path,文件名依次是 “装箱单1”、“装箱单2”....js是记录生成文件的次数
     ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\装箱单" & js & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False




修改:FP-L.rar

36.92 KB, 下载次数: 8

评分

参与人数 1学分 +2 收起 理由
lsyong + 2

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-9-24 15:03 | 显示全部楼层
hfwufanhf2006 发表于 2019-9-24 14:44
1、你的模板有问题,input表的数据是b-s列,但模板是A-S列,明显差一列。模板的格式设定也有问题,生成的文 ...

谢谢,模板,A列是不放数据的
回复

使用道具 举报

发表于 2019-9-24 15:15 | 显示全部楼层
lsyong 发表于 2019-9-24 15:03
谢谢,模板,A列是不放数据的

  如果列都是对应的,那下面这行代码需要改一下:
      Worksheets(Worksheets.Count).Cells(hs, j - 1) = Cells(k, j)
  改成:
      Worksheets(Worksheets.Count).Cells(hs, j) = Cells(k, j)


   之前假设input的B列保存到模板的A列,而C则保存在模板的B列,列是错开的,所以代码写成了 .Cells(hs, j - 1) = Cells(k, j)。如果都是列对应的,要把 -1 去掉

评分

参与人数 1学分 +2 收起 理由
lsyong + 2 学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-9-24 15:32 | 显示全部楼层
hfwufanhf2006 发表于 2019-9-24 15:15
如果列都是对应的,那下面这行代码需要改一下:
      Worksheets(Worksheets.Count).Cells(hs, j - 1 ...

非常感谢,可以使用了
回复

使用道具 举报

发表于 2019-9-24 15:44 | 显示全部楼层
试试!!!!!!

FP-L.rar

35.56 KB, 下载次数: 12

评分

参与人数 1学分 +2 收起 理由
lsyong + 2 学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-9-24 15:56 | 显示全部楼层
lsyong 发表于 2019-9-24 15:32
非常感谢,可以使用了

根据工作使用需要,只是在模板旁边新建工作表就可以了,核对数据比较方便,可以修改吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:32 , Processed in 0.396573 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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