新人下载app,立即提现现金 您的好友 送你现金 去提现

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

黯然销魂饭 01-08 21:32 关注

小编注:此篇文章来自#原创新人#激励计划,新人发文前三篇文章,篇篇额外奖励50金币。参加超级新人计划活动,新人发文即可瓜分10万金币周边好礼达标就有,邀新任务奖励无上限点击查看活动详情

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


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


展开阅读全文

打开App,享最佳阅读体验
全部评论 (13)
cantpc
2
01-10 05:09
cantpc: 感觉作者只是想炫耀一下而已,不懂的人根本不可能看懂这样的解释。就OFFSET那个函数的解释都是一塌糊涂。 1
黯然销魂饭: 没错,我就是炫耀一下,offset都看不懂的可以直接放弃了,还是老老实实改一个打印一个好了,这种方法不适合你[得意] 2

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

cantpc
1
01-09 19:41

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

yb130225
1
01-09 15:02

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

金白
1
01-09 11:39

我也是用这个来打印发货单。真是巧了[很惊讶]

十元结婚了我很不开森
0
刚刚
bigwarm2008: 问个邮件合并的问题,请问能根据表格的数据加可变的图片或者二维码到标签吗? 1

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

黯然销魂饭
0
3小时前
bigwarm2008: 问个邮件合并的问题,请问能根据表格的数据加可变的图片或者二维码到标签吗? 1

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

bigwarm2008
0
01-12 08:30

问个邮件合并的问题,请问能根据表格的数据加可变的图片或者二维码到标签吗?

黯然销魂饭
0
01-11 21:25
楠得糊涂: 就打印个标签,用word的邮件合并功能从Excel取数据是不是更简单? 1

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

楠得糊涂
0
01-11 21:23

就打印个标签,用word的邮件合并功能从Excel取数据是不是更简单?

黯然销魂饭
0
01-10 16:13
cantpc: 感觉作者只是想炫耀一下而已,不懂的人根本不可能看懂这样的解释。就OFFSET那个函数的解释都是一塌糊涂。 1
黯然销魂饭: 没错,我就是炫耀一下,offset都看不懂的可以直接放弃了,还是老老实实改一个打印一个好了,这种方法不适合你[得意] 2
展开隐藏评论
cantpc: 要看肯定去excelhome看真正的高手炫耀,这点小聪明拿来炫还这种回复真笑死人。跑个access的都吊打几条街了。 3
黯然销魂饭: 什么样心思的人自然看到的是什么样的东西,我拿东西分享你非要说是炫耀,那跟你有什么好说的。当然们一篇文章都写不出来却是行行精通随便啥都说的头头是道 4
cantpc: 你那条offset函数改成=vlookup(L6,数据页!A1:F124,6,0) 不是更简单直接吗?如果非要装的话index函数就够了,非要用offset函数真是装过头了,如果以后数据页结构改变的话要调这公式麻烦多了。 5

奇怪,用个函数还有高低之分?函数知道自己还有个装*作用吗?只要能达到我要的目标就可以了,谁还来分回字的四种写法啊

打开App,查看更多好文和评论
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
15
117
13
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索