ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请教大神VBA 编程生产表单

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-1-12 23:59 | 显示全部楼层 |阅读模式

在Excel 中如果 单元 L列中L2 =10则执行 复制A2行(第2行整行数据)插入10行相同的数据(现有数据下移)依次往下判断L3=2则执行复制A3行(整行)插入2行依次类推-----?

我的表述不理解的可以找我要数据 我给你介绍。要求就是整理一个表单,写个VBA程式!

谢谢!代码如下:

Dim x As Integer                                                     '定义变量 x 为 整型值

For i = [L65536].End(xlUp).Row To 2 Step -1                          '设定变量范围为i=[L65536的End(方向向上).Row到2步进为-1

    x = Range("L" & i).Value                                          'x=单元格区域("L" & i).Value 取Li列数值

    If IsNumeric(x) Then                                              '如果 IsNumeric(x) 判断X是否是数值 则执行

       For j = 1 To x - 1                                             '设定变量范围为j=1到x-1

          Rows(i).Insert Shift:=xlDown                                '行数(i).Insert变换:=方向向下

       Next                                                           '下一个

       If x <> 1 Then                                                 '如果 x<>1 则执行

          Range("A" & (i + x - 1) & ":BE" & (i + x - 1)).Copy         '单元格区域("A" & (i+x-1) & ":BE" & (i+x-1)).Copy

          Range("A" & i & ":BE" & (i + x - 2)).Select                 '单元格区域("A" & i & ":BE" & (i+x-2)).Select

          ActiveSheet.Paste                                           'ActiveSheet.Paste

          Application.CutCopyMode = False                             'Application.CutCopyMode=False


       End If                                                         

    End If                                                         

Next                                                                 '下一个


现在我需要在这个代码的基础上增加条件如右图1填充表格(AM:AP) 的值

其中AM:AP 的值是 根据K2列值确定的

举例:

  • 如果k2=K3=K4=K5则AO2:A06=1,2,3,4,5   AP2=1,2,3,4,5
  • 依次类推...


TA的精华主题

TA的得分主题

 楼主| 发表于 2016-1-13 00:03 | 显示全部楼层
问题前沿在这个地址[http://zhidao.baidu.com/question/329190297654278445.html],可以具体到表单制作,请教大神编辑 帮忙编写 一个完整的 VBA 程式!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-5-8 23:11 | 显示全部楼层
此问题已经解决:
  1. Sub Macro1()
  2. For i = [L65536].End(xlUp).Row To 2 Step -1
  3. x = Range("L" & i).Value '取L列数值
  4. If IsNumeric(x) Then '判断数字
  5. For j = 1 To x - 1
  6.     Rows(i).Insert Shift:=xlDown
  7. Next
  8. If x <> 1 Then
  9. Range("A" & (i + x - 1) & ":L" & (i + x - 1)).Copy
  10.       Range("A" & i & ":L" & (i + x - 2)).Select
  11.       ActiveSheet.Paste
  12.     Application.CutCopyMode = False
  13. End If
  14. End If
  15. Next
复制代码

大家如果有更好的 可以交流下!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 18:51 , Processed in 0.028274 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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