利用Excel中VBA代码批量生成询证函的方法

藏家275 关注

收藏于 : 2021-08-19 17:44   被转藏 : 5   

在上个月,小编分享了一篇《利用word邮件合并功能批量制作询证函方法》的技术文,得到了大家的一致收藏和转发。下面,闲客再给大家推荐另外一种方法,纯利用Excel的方式来生成询证函。当然这种方式通常我是用来进行内部函证用的,核心虽然只有几行代码,但实现的效果和之前的Word也是有异曲同工之处。(VBA代码不要自己多么专业,其实套路都是一样的)下面,小编就简单的给大家介绍一下:

一、首先,你要有一个较为完整 <集团内部往来询证函> 模板。比如下面这样:

集团内部往来询证函

首先,你要根据集团内往来业务涉及到的项目,进行编制询证函模板。截止日期我用的是时间函数(='截止日期:'&YEAR(TODAY())&'年'&MONTH(TODAY())&'月'&DAY(TODAY())&'日')。上面的数字都是测试用的,在你自己做的时候为了美观可以全部清空。当然,你可能注意到三个蓝色道道,这里要用到SUM()函数,对类目金额进行汇总。

二、其次,要对应模板的科目,在Excel中新建一个内部客商明细。比如下面这样:

内部客商明细表

大家可以根据需要自行分类,这个分类只是简单的按科目进行了划分。在实际经营活动中,未必会有这么简单的事情。比如:我方销售的产品作为内部交易-存货销售(营业收入)入账,对方单位可能部分归入采购商品计入营业成本、部分归入固定资产,计入固定资产采购。这样的情况,按照上述明细划分,就会出现问题。所以大家要具体问题具体对待,灵活运用模板。

三、下面,就是小编的大招了,VBA代码。示例如下(可直接复制使用,建议在电脑端看):

我的工作表

VBA代码


Sub xzh()'此处为定义一个VBA函数,不用修改。(觉得xzh这个名字难听,不介意改成别的)

Dim Mypath$, sht As Worksheet, arr, i& '此处为定义了一些数据类型,不用修改。

Application.ScreenUpdating = False '设定工作表数据发送变化禁止实时更新

Application.DisplayAlerts = False '这个说白了就是禁止在运行中出现消息弹窗

For Each sht In Worksheets '遍历当前工作簿中包含的所有工作表

If sht.Name <> '客商明细' And sht.Name <> '询证函模板' And sht.Name <> '手动模式' Then sht.Delete' 设定 如果工作表的名字不是 <客商明细> 、 <询证函模板> 、 <手动模式> ,就进行删除。

Next'语句不可删

arr = Sheets('客商明细').[a2].CurrentRegion'不可删,将对应某客商明细数据存储到数组中

For i = 3 To UBound(arr) '开始遍历数组

With Sheets('询证函模板') '不可删,下面的就是模板位置和客商明细位置进行对应

.[c6] = arr(i, 4) '应收票据

.[c7] = arr(i, 5)'应收账款

.[c8] = arr(i, 6) '其他应收款

.[c9] = arr(i, 7) '预付账款

.[d10] = arr(i, 9) '应付账款

.[d11] = arr(i, 10) '预收账款

.[d12] = arr(i, 11) '其他应付款

.[c13] = arr(i, 12) '长期应收款

.[d14] = arr(i, 4)'长期应付款

.[c16] = arr(i, 14) '营业收入

.[c17] = arr(i, 13) '对方作为固定资产入账销售

.[c19] = arr(i, 15) '销售商品、提供劳务

.[c20] = arr(i, 16) '其他现金流

.[g3] = arr(i, 3)'公司名称

.Copy , Sheets(Sheets.Count) '复制该模板,并创建一个新的工作簿

ActiveSheet.Name = arr(i, 3) '定义工作表名称为客商名称

End With '后面的不可删,我就不写注释了

Next

Sheets('询证函模板').Select

Application.ScreenUpdating = True

Application.DisplayAlerts = True

End Sub


到这里,主体的结构已经构造完成了。不知道大家是否已经明晰,还有一些简单的细节操作我补充在这里。

VBA的编辑及调用(以office2016为例)

示例

点击宏或者查看代码,都可以进行编辑或者创建VBA代码。点击 <插入> 按钮,可以选择一个窗体控件,插入到客商明细表中,然后右击,指定创建的宏即可。

最后,你将所有客商相关科目信息补充进入,点击按钮,即可生成若干个工作表,每张表对应一家客商的全部往来信息,然后批量核对、打印、盖章、留档即可。

 阅读文章全部内容  
点击查看
文章点评
相关文章
藏家275 关注

文章收藏:1

TA的最新收藏