ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 麻烦老师帮写一段批量填充的代码(已解决,谢谢准提部林、gyduyong等各位老师)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-9-28 12:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
菲佣 发表于 2020-9-27 22:33
字典表的A-AI列均是开票系统导出的格式,仅有AJ-AL列是手动加入的,因不懂VBA的条件限制,所以仅从公式角 ...

合併格下一行有空白的, 是否取其上一行非空內容???
合併格最多有幾行???


TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-28 13:33 | 显示全部楼层
准提部林 发表于 2020-9-28 12:24
合併格下一行有空白的, 是否取其上一行非空內容???
合併格最多有幾行???

对,合并格有空行就取上一行有数据的行内容,原表实际内容我删除了,所以导致字典表AL列都数字,请看我后续附件图片示意,原表黄色部分为0.00,此时AL列即为实际情况。
关于合并单元格的行,这个不定数,时有时无,实际情况是:开具发票时,在备注栏如果有备注合同名称及合同编号的话,就会产生2行,这时就有合并行了。
原表实际情况.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-28 13:36 | 显示全部楼层
gyduyong 发表于 2020-9-28 09:33
每张申请表的内容是对应生成的,你所指的那个数字,我觉得没有必要,所以我就没有使用它了,如果还有 ...

我增加了字典表的行,执行后,还是生成一样数量的申请表,烦请老师再看看

TA的精华主题

TA的得分主题

发表于 2020-9-28 14:36 | 显示全部楼层
參考樣板:
Xl0000016.rar (18.87 KB, 下载次数: 15)

1) 清除時, 只保留第一個樣板
2) 執行時, 自動複製新增並填入內容
3) 空白格, 以前一非空內容填入



评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-28 16:16 | 显示全部楼层

已使用上了,目前导入原表后,执行完美,唯一小缺憾是未能避开有0值行,同时生成了两个表,除金额外(见图,隐去了部分信息),其余信息一致。问题不大,不影响使用,因最终打印出申请表后,还会一刀两段,有零值那张不要即可,完美解决!谢谢老师!!!
使用效果.jpg

TA的精华主题

TA的得分主题

发表于 2020-9-28 17:14 | 显示全部楼层
菲佣 发表于 2020-9-28 16:16
已使用上了,目前导入原表后,执行完美,唯一小缺憾是未能避开有0值行,同时生成了两个表,除金额外(见 ...

開票金額為0, 不列出來~~
Sub Get_Data()
Dim Arr, xArea As Range, xA As Range, xR As Range, N%, i&, j%, T(7), K%
Call ClearALL
Set xArea = [B1:E13]: Set xA = [B1]
Arr = Range(Sheet1.[A1], Sheet1.[AJ65536].End(xlUp))
Application.ScreenUpdating = False
For i = 2 To UBound(Arr)
    If Val(Arr(i, 36)) = 0 Then GoTo 101
    For j = 1 To 7
        T(0) = Arr(i, Array(9, 5, 16, 36, 20, 3, 1)(j - 1))
        If T(0) <> "" Then T(j) = T(0)
    Next j
    K = K + 1: If K > 1 Then xArea.Copy xA
    For Each xR In Union(xA(5, 2).Resize(5), xA(11, 2), xA(11, 4))
        N = N + 1: xR = T(N)
    Next
    Set xA = xA(17): N = 0
101: Next i
End Sub


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-28 18:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
准提部林 发表于 2020-9-28 17:14
開票金額為0, 不列出來~~
Sub Get_Data()
Dim Arr, xArea As Range, xA As Range, xR As Range, N%, i& ...

完美!!!
再次感谢!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-26 13:03 , Processed in 0.038682 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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