ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] Excel根据条件将一行数据拆分成多行数据

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-13 20:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

非常感谢,各位大佬都非常热心

TA的精华主题

TA的得分主题

发表于 2023-4-13 22:59 | 显示全部楼层
楼主的需求,我估计是为了整理数据用于批量打印。在此我就用我开发的万能批量打印软件为楼主做一个示范案例。类似邮件合并那种数据照般的批量打印软件,很多时候需要先处理大量的数据,也是很麻烦。我的批量软件是万能套用的,具有数据处理能力,能把打印数据最简化,再复杂的批量打印,也能用我软简单实现。这里只是个示例,可以按各种需求设计。




软件简介:   
     真正的软件级别,VBA通用软件,用于批量打印、拆分,用于特殊需求的录入、打印等等。不需改代码,就可以万能套用。复杂的数据引用、格式要求都能简单解决。
      单个、少量、批量操作(打印、拆分等)或者选择性操作都一样方便。
      核心很简单,就是用“=”号引用对应数据列,并作简单设置,一学就会,很容易套用到工作中遇到的实际案例。
       界面超级简单,千篇一律,傻瓜式操作。
      每个案例都仅是此软件的一个小应用,学会一个案例作参考就能一里通百里用,欢迎大家测试使用,更期待能提出宝贵意见。
     软件免费,并附简易教程,需要做简单设计才能吻合到实际案例。也可以联系作者提供设计服务,能为你提供完美的整体解决方案。
      文件就是软件!!!

无标题.jpg

装箱标签.rar

404.19 KB, 下载次数: 9

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-13 23:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位大佬,能不能根据数据拆分的结果,将表中sheet2的数据,按照表中打印模板,直接打印出来(模板中包含二维码),每页打6条数据,因为数据量比较 多,希望通过VB来实施,谢谢

数据拆分.zip

351.98 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2023-4-13 23:31 来自手机 | 显示全部楼层
zhmalbert 发表于 2023-4-13 23:22
各位大佬,能不能根据数据拆分的结果,将表中sheet2的数据,按照表中打印模板,直接打印出来(模板中包含二 ...

我上面的案例就预测了你的需求,

TA的精华主题

TA的得分主题

发表于 2023-4-13 23:55 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zhmalbert 发表于 2023-4-13 23:22
各位大佬,能不能根据数据拆分的结果,将表中sheet2的数据,按照表中打印模板,直接打印出来(模板中包含二 ...

不需要你处理数据,就能直接批量打印

TA的精华主题

TA的得分主题

发表于 2023-4-14 10:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
留下记号,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-28 23:46 | 显示全部楼层

大神 ,非常感谢你之前的帮忙,现在有点小问题,能帮我把拆分后的数据加个序号吗?不用分组,就是拆分成多少条,就生成到 多少的序号,麻烦了,谢谢

TA的精华主题

TA的得分主题

发表于 2024-8-29 07:29 | 显示全部楼层
本帖最后由 ykcbf1100 于 2024-8-29 07:30 编辑
zhmalbert 发表于 2024-8-28 23:46
大神 ,非常感谢你之前的帮忙,现在有点小问题,能帮我把拆分后的数据加个序号吗?不用分组,就是拆分成多 ...

结果表加入序号,原数据在订单数量列前面插入列也不用改代码了。
结果放在表2


数据拆分.zip

19.16 KB, 下载次数: 4

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-29 07:30 | 显示全部楼层
参与一下。。。

  1. Sub ykcbf()    '//2024.8.29
  2.     Application.ScreenUpdating = False
  3.     With Sheets("Sheet1")
  4.         r = .Cells(Rows.Count, 1).End(3).Row
  5.         c = .Cells(1, "XFD").End(1).Column
  6.         c1 = .Rows(1).Find("订单数量", LookIn:=xlValues).Column
  7.         arr = .[a1].Resize(r, c)
  8.         ReDim brr(1 To 10000, 1 To c + 4)
  9.         For i = 2 To UBound(arr)
  10.             n = arr(i, c1) \ arr(i, c1 + 1)
  11.             If n * arr(i, c1 + 1) = arr(i, c1) Then n = n Else n = n + 1
  12.             For x = 1 To n
  13.                 m = m + 1
  14.                 brr(m, 1) = m
  15.                 For j = 1 To UBound(arr, 2)
  16.                     brr(m, j + 1) = arr(i, j)
  17.                 Next
  18.                 If x < n Then brr(m, c + 2) = arr(i, c1 + 1) Else brr(m, c + 2) = arr(i, c1) - (n - 1) * arr(i, c1 + 1)
  19.                 brr(m, c + 3) = x
  20.                 brr(m, c + 4) = n
  21.             Next
  22.         Next
  23.     End With
  24.     With Sheets("Sheet2")
  25.         .UsedRange.Offset(1).Clear
  26.         .[a2].Resize(m, c + 4) = brr
  27.         .[a2].Resize(m, c + 4).Borders.LineStyle = 1
  28.     End With
  29.     Application.ScreenUpdating = True
  30.     MsgBox "OK!"
  31. End Sub

复制代码


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-29 08:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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