ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何实现批量打印

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-14 14:26 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本人0基础,因为工作关系,很需要这样操作,我想在“中小学生转学“这个表用上”萍乡市事业单位岗位聘用人员汇总表(新增修改)“一样的功能

萍乡市事业单位岗位聘用人员汇总表(新增修改).zip

20 KB, 下载次数: 100

中小学生转学申请登记表.zip

17.2 KB, 下载次数: 67

TA的精华主题

TA的得分主题

发表于 2019-6-14 14:57 | 显示全部楼层
你用错控件了,应该插入ActiveX控件就可以了

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-14 14:59 | 显示全部楼层
灰色幽灵 发表于 2019-6-14 14:57
你用错控件了,应该插入ActiveX控件就可以了

我新手,不会弄,老师能不能帮忙修改下

TA的精华主题

TA的得分主题

发表于 2019-6-14 15:04 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-14 15:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
灰色幽灵 发表于 2019-6-14 15:04
你用我红色标出来的控件

标出来了对于我来讲也是没用,我根本也点不懂,那个转学表,就是我一点一点照着原来改过来的,那里对那里不对我一点都不知道

TA的精华主题

TA的得分主题

发表于 2019-6-14 15:55 | 显示全部楼层
楼主:这样行不?没用窗体。实现单页打印或批量打印。

中小学生转学申请登记表(打印与批量打印).zip

21.16 KB, 下载次数: 334

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-17 10:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 vicern 于 2019-6-17 10:39 编辑
网海遨游 发表于 2019-6-14 15:55
楼主:这样行不?没用窗体。实现单页打印或批量打印。

这样可以打印了,两个按键都能打印,但是那个上下按钮不起做用,点了光是第几页有变化,表格里面没有变化,不能实现预览效果,不过很感谢你!
sheets是不是改成sheet.jpg
当前第9行,而表格里面不会跟着变化.jpg
改成sheet后.jpg

TA的精华主题

TA的得分主题

发表于 2019-6-17 19:37 | 显示全部楼层
呵呵。我的代码在“数据源”工作表中,你看到的代码是你原来代码。
点击上、下箭头,表面上没看到反应,当你点击打印按钮时,就起作用了。因为查找是由打印按钮引起的。

Sub 批量打印()
    Set sh2 = Sheets("打印用")
    If sh2.[o3] = "" Or sh2.[o3].Value < sh2.[o1].Value Then
       MsgBox "请检查O1单元格编号或O3单元格编号!", 48, "警告!!!": Exit Sub
    End If
    k = sh2.[o1]
    For i = k To sh2.[o3]
        sh2.[o1] = i
        Call 打印指定页
    Next i
End Sub

Sub 打印指定页()
    Call 查找
    Set sh2 = Sheets("打印用")
    sh2.[a1:j30].PrintOut Copies:=1
End Sub




Sub 查找()
    Set sh1 = Sheets("数据源")
    Set sh2 = Sheets("打印用")
    arr = sh1.UsedRange
        With sh2
           If .[o1] = "" Then
           .[c3].ClearContents
           .[e3].ClearContents
           .[g3].ClearContents
           .[c4].ClearContents
           .[c6].ClearContents
           .[c8].ClearContents
           .[c12].ClearContents
           .[g12].ClearContents
           .[j12].ClearContents
           End If
           If .[o1].Value > UBound(arr) - 1 Then MsgBox "O1单元格输入编号超出范围!", 48, "警告!!!": Exit Sub
    For i = 1 To UBound(arr)
        If arr(i, 1) = .[o1] Then
           .[c3] = arr(i, 2)
           .[e3] = arr(i, 3)
           .[g3] = arr(i, 4)
           .[c4] = arr(i, 5)
           .[c6] = arr(i, 6)
           .[c8] = arr(i, 7)
           .[c12] = arr(i, 8)
           .[g12] = arr(i, 9)
           .[j12] = arr(i, 10)
           Exit For
        End If
    Next i
    End With
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-6-17 19:41 | 显示全部楼层
本帖最后由 网海遨游 于 2019-6-17 20:37 编辑

你图片中显示的所有代码,都不是我的代码,是你原有的代码,我没删除。我的代码是放在“数据源”表中。我把所有代码,重新放在模块中,你看看。
另:O1单元格数据,通过上、下箭头改变后,在模板中一时,看不出来变化,但一旦点击打印按钮,就会触发查找功能代码,打印出来的就是你想要的。

中小学生转学申请登记表(打印与批量打印).zip

18.51 KB, 下载次数: 427

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-18 10:24 | 显示全部楼层
网海遨游 发表于 2019-6-17 19:41
你图片中显示的所有代码,都不是我的代码,是你原有的代码,我没删除。我的代码是放在“数据源”表中。我把 ...

确实可以打印了,就是在打印用表上面没有实时显示,用=VLOOKUP(M1,数据源!A:J,2,0)这个函数能实现,但我觉得不高级!呵呵
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-26 18:29 , Processed in 0.034041 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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