作者:iamlaosong
公司各支部收到的党费需要汇到公司公款账户。由于无法手机转账,必须到柜台办理,所以每次需要填写汇款单。汇款单涉及汇款人和收款人账号,收款人账户名称还特别长,居然用了32个字,填起来很麻烦,还容易出错,所以就做了个工具,打印这张汇款单,其他支部也可以用。如下图,只要改变序号,打印当前表就可以打印明细表中不同支部的汇款单,不用写任何代码。汇款单需要一张一张的打印(塞一张单据打印一张),所以没有编程的必要。
本身没多少难点,和以前打印对账单、快递单差不多,关键点如下:
1、根据汇款单设置打印区域,区域外面不打印。方法是:菜单“页面布局”下的“打印区域”下的“设置打印区域”;
2、插入或复制一个文本框(菜单“插入”下的“文本框”)打印内容放置在文本框中,文本框内容关联下面的单元格,如下图:
3、单元格内容通过序号和明细表关联,公式是如下:
=INDEX(明细!$A$2:$H$1001,MATCH($K$31,明细!$A$2:$A$1001,0),COLUMN()+1)
或者
=INDEX(明细!$B$2:$H$1001,MATCH($K$31,明细!$A$2:$A$1001,0),COLUMN())
不同列单元格的公式都是一样,因为列号用函数COLUMN()返回,如下图:
数据区域从A列开始列号要加1(COLUMN()+1)或者从B列开始,打印表中没有序号(A列)一列,如下图:
4、金额需要转换为单个数字,保存到单元格,以便和文本框关联。如:
分位金额公式:=INT($D$31*100)-INT($D$31*10)*10
角位金额公式:=INT($D$31*10)-INT($D$31/1)*10
个位金额公式:=INT($D$31/1)-INT($D$31/10)*10
十位金额公式:=INT($D$31/10)-INT($D$31/100)*10
百位金额公式:=INT($D$31/100)-INT($D$31/1000)*10
千位金额公式:=IF($D$31<1000,"¥",INT($D$31/1000)-INT($D$31/10000)*10)
万位金额公式:=IF($D$31<1000,"",IF(D31<10000,"¥",INT($D$31/10000)))
十万位金额公式:=IF($D$31<1000,"",IF($D$31<10000,"","¥"))
其实万位以上就可以不考虑了,没那么多钱。点击下载:打印邮政汇款单