模版制作其实蛮简单的,点一点,画一画,拉一拉,存一存,就可以啦。
2,制作打印数据表
这里是我们要打印的数据存档,所以,也是仔细一些,别搞错顺序啦。
3,整理思路
我们要的目的是把数据表里的内容,分客户名称分别打印出来,但是,由上图我们可以看出,数据输入是没有顺序的,可能第一个是A客户,下一个可能就成B客户了,而且,我们打样品单的时候,要把同一个客户的样品数据打在同一张,这就意味着我们要对数据分类,那么,如何实现呢?
制作主键
我们知道,在用VLOOKUP抓取数据的时候,第一个参数就是查找值,如果我们把这个值单纯的用客户名,结果只能找到一个记录,不符合我们的要求,那么,我们应该如果做?
看图:
看明白了吧,我设置的是“日期+客户名+流水号”
有人要问了,日期、客户名我都知道,可以是这流水号是怎么来的?
请看公式中流水号:“COUNTIF($B$2:$B2,B2))”这一小段,这下明白了吧,意思是统计单个客户样品单数量。
于是,问题就变得简单了,在样品单模版中使用Vlookup。
我们把参照值位置设置在A8,看到效果了吧,这个值是唯一的。
在C8的位置使用Vlookup,然后数据成功过来了,向下填充即可。
需要注意的是,前面有个序号:1,2这个我们可以使用取值函数完成。
接下来的其他设置,自己去完成咯,日期啦,重量啦,单位啦,客户简称不用去做变动,这个在VBA中会要用到。
下面,我们还要做一个客户列表,公式如下图
这里用到了数组,在制作公式完成时,不要按回车,是为数组应该是"ctrl+shift+enter"。
向下填充完成,我参照的范围只到101行,数据参照太多Excel表要卡死,而且也没必要太多,因为样品单一般不是很多。
开始制作VBA
制作前,在数据表A1位置输入公式:
为什么要有这个公式?因为VBA循环中会要使用到。
Alt+F11打开VBA编辑器
添加一下模块,命名DY,双击该模块,打开代码框并输入一下代码
代码很简单,就是循环,赋值,判断,打印,累加。
接着给打印按钮指定宏P_START,然后我们就可以愉快打批量打印咯。
注意事项
因为单个客户样品单时间是一样的,时间值是一致的,如果同一客户,不同的时间,那么样品单模版是抓不到同一客户另一个时间的数据哟。如果想要抓到数据,那么,就要新增另一个客户名称列,数据为"客户名称+时间"用来代替客户名称。
记得要打开宏安全哟,不然是用不了哒。
调出宏工具栏:
允许宏运行
好啦,这一期就这么愉快的结束啦,我们相约下一期咯。
有什么问题,可以留言,我会挑我会的回答。^_^