Excel精英培训网

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

[已解决]求高手帮忙写个打印宏代码

[复制链接]
发表于 2017-2-15 22:46 | 显示全部楼层 |阅读模式
各位高手:
各位高手:
我做了一个标签打印模板,已知标签打印模板每页8个,通过序号用VLOOKUP公式链接数据。数值调节钮步长设为8,因数量太多逐页手工打印比较麻烦。 打重或漏打页时有发生。
求助:
现想通过输入起止序号,按打印按钮,实现打印功能。求高手帮忙写个打印宏代码。
详见截屏图及附件   谢谢


最佳答案
2017-2-16 10:42
For i = Range("bs17") To Range("bs18") step 8
低值易耗品截屏1.png
低值易耗品截屏2.png

低值易耗测试11111.rar

85.47 KB, 下载次数: 21

 楼主| 发表于 2017-2-16 08:22 | 显示全部楼层
按起止序号每页只有一个标签宏代码比较好写些,但是每页标签有8个,
即数值调节钮步长为8,不知打印代码如何编写,请高手帮忙,谢谢
回复

使用道具 举报

发表于 2017-2-16 08:53 | 显示全部楼层
直接运行代码
  1. Sub 批量打印()
  2.     Dim q&, s&
  3.     Application.ScreenUpdating = False
  4.     With Sheet1
  5.         q = .[BS17]
  6.         s = .[BS18]
  7.         If q > s Then
  8.             MsgBox "起号不能大于止号!"
  9.             Exit Sub
  10.         End If
  11.         m = q
  12.         Do While m <= s
  13.             For i = 5 To 12
  14.                 .Cells(i, 70) = m
  15.                 m = m + 1
  16.             Next
  17.             .PrintOut
  18.         Loop
  19.     End With
  20.     Application.ScreenUpdating = True
  21. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
BL123123 + 3 赞一个

查看全部评分

回复

使用道具 举报

发表于 2017-2-16 08:58 | 显示全部楼层
a ) br5 是否 改为 bs17 , 把控件也移到bs17 , 这样同步
b ) 既然一个标签的好弄 , 那你先弄出来
回复

使用道具 举报

 楼主| 发表于 2017-2-16 10:12 | 显示全部楼层
砂海 发表于 2017-2-16 08:58
a ) br5 是否 改为 bs17 , 把控件也移到bs17 , 这样同步
b ) 既然一个标签的好弄 , 那你先弄出来

砂海 您好,以前得到过您的帮助,知道您的水平很高,我在网上搜得过类似的打印代码,
非常简洁,只是我的一页纸需要打印8个标签,不知代码如何修改,烦请您帮忙看看,
详见截屏图及附件    不知什么原因附件及图片无法上传  先把打印代码发出, 麻烦您帮忙看看   
具体代码为:
Sub 批量打印()
For i = Range("i4") To Range("i5")
Range("h1") = i
ActiveSheet.PrintOut
Next
End Sub

回复

使用道具 举报

发表于 2017-2-16 10:15 | 显示全部楼层
For i = Range("i4") To Range("i5") step 8没再看附件

评分

参与人数 1 +3 收起 理由
BL123123 + 3 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-2-16 10:20 | 显示全部楼层
砂海 发表于 2017-2-16 08:58
a ) br5 是否 改为 bs17 , 把控件也移到bs17 , 这样同步
b ) 既然一个标签的好弄 , 那你先弄出来

Sub 批量打印()
For i = Range("bs17") To Range("bs18")
Range("br5") = i
ActiveSheet.PrintOut
Next
End Sub

回复

使用道具 举报

发表于 2017-2-16 10:42 | 显示全部楼层    本楼为最佳答案   
For i = Range("bs17") To Range("bs18") step 8

评分

参与人数 1 +3 收起 理由
BL123123 + 3 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-2-16 10:56 | 显示全部楼层
砂海 发表于 2017-2-16 10:42
For i = Range("bs17") To Range("bs18")  step 8

您好,最佳答案终于诞生啦,在您的指点下难题得到圆满解决。
最终完整打印代码为:
Sub 批量打印()
For i = Range("bs17") To Range("bs18")step 8
Range("br5") = i
ActiveSheet.PrintOut
Next
End Sub


再次感谢高手的帮助。
回复

使用道具 举报

 楼主| 发表于 2017-2-16 11:13 | 显示全部楼层

非常感谢高手的解答,您的解答与最佳答案编写方法不同,只是最佳答案简练些。
最佳答案只能给一个。再次感谢您的帮助。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 03:49 , Processed in 0.328792 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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