转自EXCEL不加
学员要制作一份应付工资计提表打印模板,希望能够实现一键生成,只要点一下按钮,25个单位的所有数据能够自动打印。
为了方便说明,卢子用黄色填充色标识出来,注意观察内容的变化。下面是其中2个单位的数据,后面23个单位就不一一截图。


数据源是这样的。

每家单位的数据,明摆着就是用VLOOKUP函数引用过来。如果不懂VBA的话,直接每一家单位修改一次查找值,然后再打印;如果会VBA就可以轻松一键打印所有数据。
刚好,以前就分享过类似的VBA模板,直接套用过来即可,文末会提供文章链接。
Step 01 输入匹配值、开始值和结束值,前2个值一般都是从1开始,结束值数据源有多少个单位就写多少。

Step 02 根据匹配值,查找每家单位的数据。
单位名称:
=VLOOKUP(N3,数据源!A:H,2,0)
查找的数据非常有规律,依次将2改成3、4、5、6、7即可。
当然,这里的各种金额因为单元格是连续的,可以用ROW函数来生成数字。
=VLOOKUP($N$3,数据源!A:H,ROW(A4),0)

Step 03 设置打印区域。
现在只需打印A1:G9这个区域,其他辅助区域不需要打印。选择区域,点页面布局→打印区域→设置打印区域。

Step 04 按快捷键Alt+F11,插入模块,将代码粘贴上去,关闭VBA界面。
Sub 打印()
Dim i
i = [P2]
For i = [P2] To [P3]
[N3] = i
ActiveSheet.PrintOut
Next
End Sub

Step 05 右键按钮,指定宏,找到刚刚的宏,确定。

最后,所有使用VBA的都要将工作簿另存为宏工作簿,并启用所有宏才能使用。操作完毕后,点打印按钮,即可一键打印所有单位的数据。
其实,很多打印模板都是用这种方法制作,只是运用的场景不同而已,要学会灵活运用。
陪你学Excel,一生够不够?