用VBA在EXCEL里实现标签的批量打印

2021-01-08 21:32:10 17点赞 136收藏 18评论

相信很多小伙伴曾经也跟我一样遇到类似的问题:如何让一些数据能够自动填充到指定栏并自动打印出来,类似的实现方式比如邮件合并啊,虚拟打印啊,有好几种,今天我给大家介绍如何用vba来实现。

事情的起因是需要打一批产品标签,大家知道标签格式都是固定的,但是每一件毛重净重会有微小的变化,如果靠人工来改一个打一张,实在效率低下,那我的目标就是做一个简单vba来循环,填充数据-》打印-》填充下一列数据-》打印。那怎么来实现呢?下面我教大家一步步来。

A。首先,我们要在excel里开启vba功能,这个默认是关闭的,因为vba本身是个程序,以前曾经很流行vba病毒。下面的步骤是我百度复制来的,如果看不懂的盆友可以直接百度经验。

1,打开Excel软件,点击左上角的文件菜单

2,选择左下角的选项菜单

3,选择自动以功能区的开发工具

4,点击顶部的开发工具菜单

5,点击Visual Basic按钮

6,这样就打开了VBA的编辑区域

B。好了,vba我们先放一放,我们先把标签页和数据页建立起来。

图3图3

然后按自己需要的格式编辑好,我自己的弄完以后大概是这个样子,那个红色格子都是醒目作用,打印的时候是不需要的哈

图4图4

所有我标红色的格子,都是需要自动更新数据的地方,下面重要部分来了大家注意看!我们需要用一个函数来实现这个功能,否则第一步自动更新数据我们就做不下去了,对不对。记住这个函数,offset,这个函数根据引用的数据来做参照计算,比如其中有个L6-2,这个什么意思呢,引用L2栏内的数据来做计算

图5图5

比如图4中,L6栏的序号是124,这个意思就是我需要引用数据页中第124行的数据来填充到这个标签内,而在=OFFSET(数据页!$A$2,L6-2,5)这个函数内,数据页!$A$2表示引用数据页这个sheet中的数据,L6-2则表示引用哪一行,最后一个5表示这一行中的第几个数据。其他需要填充的数据也是按照这个格式。

图6图6

C。好了,上面的标签也讲完了,我们接着来说,

接下来我们编辑好excel文档,并打开开发工具栏进入设计模式

图7图7

然后我们需要在页面上增加一个控制按钮,否则没有开关啊,所以我们可以点击插入键,插入一个按钮

图8图8

现在我们已经把按钮拖出来了,但是这个按钮现在还没鸟用,因为我们还没告诉它要干啥,现在我们右键点击这个按钮,来给它一段神秘代码,让它知道自己该干啥!

图9图9


来,大伙把这串神秘代码贴进去吧!简单解释一个,这是一个for循环,学过c语言的应该都能看明白,我们取L6栏的数据作为i,然后把L8的数据挪到L9去,i循环会顺便+1,所以我们给初始数据的时候,就需要同时在L6和L8写上

Private Sub CommandButton1_Click()

For i = Range("L8") To Range("L9")

Range("L6") = i

ActiveSheet.PrintOut

Next

End Sub

用VBA在EXCEL里实现标签的批量打印


好了,所有的过程都写完了,我相信能帮你大大减少工作量,现在关闭设计模式,按钮一点,打印机哗哗哗自己动起来~~


展开 收起
18评论

  • 精彩
  • 最新
  • 感觉作者只是想炫耀一下而已,不懂的人根本不可能看懂这样的解释。就OFFSET那个函数的解释都是一塌糊涂。

    校验提示文案

    提交
    没错,我就是炫耀一下,offset都看不懂的可以直接放弃了,还是老老实实改一个打印一个好了,这种方法不适合你 [得意]

    校验提示文案

    提交
    要看肯定去excelhome看真正的高手炫耀,这点小聪明拿来炫还这种回复真笑死人。跑个access的都吊打几条街了。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 就打印个标签,用word的邮件合并功能从Excel取数据是不是更简单?

    校验提示文案

    提交
    实现方法不止一个,邮件合并我也提了

    校验提示文案

    提交
    收起所有回复
  • 问个邮件合并的问题,请问能根据表格的数据加可变的图片或者二维码到标签吗?

    校验提示文案

    提交
    邮件合并我没试过,不过用vba应该可以自动根据内容生成二维码

    校验提示文案

    提交
    条形码的话,有条形码字体

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 你好,这个打印一个工作表,如果有两个或几个工作表要怎么修改

    校验提示文案

    提交
    多做几个表啊,每个表对应一个。否则改来改去又烦又容易错

    校验提示文案

    提交
    收起所有回复
  • 我也是用这个来打印发货单。真是巧了 [很惊讶]

    校验提示文案

    提交
  • 用access的报表功能 先设计个模版 以后只需要联动excel表即可

    校验提示文案

    提交
  • 加1。这个方法很好,格式又方便调。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
136
扫一下,分享更方便,购买更轻松