VBA如何输入控制测试数据

待过事务所,都有执行过内控查核。在了解公司的内部控制制度之后,辨认风险,评估对应的内部措施是否在设计上能有效降低风险、接着验证该内控实际上是否有在执行。这个验证执行的过程,便是审计工作中的控制测试。实务上,通常会请客户提供一整年的明细报表,抽样选出十几二十个样本,根据这些样本检视凭证,确定内部程序有效执行。在Excel操作时,是配合鼠标移动一格一格输入,不过藉由VBA,可以设计成填写窗口的输入模式,免去鼠标移动的小麻烦,以下分享:

一、销货收入控制测试。上方是关于这项查核程序的说明,下方左边是抽到的出货单样本,右边是要再进一步翻阅该出货单的订单,验证内控制度是否有效执行。

销货收入控制测试

二、进入VBA编辑环境:「插入」、「自定义窗体」。

「插入」、「自定义窗体」

三、在左上方的「项目」窗口中,可以看到多一个「窗体」文件夹,里面有一个「UserForm1」,然后在右下方的「属性」窗口中,是关于「UserForm1」这个窗体的所有属性,类似像Excel中的单元格格式那样的东西。默认依照字母顺序排列,有兴趣可以更改每一个属性设定值试看看。

是关于「UserForm1」这个窗体的所有属性

四、将「(Name)」(名称)改为「销货收入控制测试」,将「Caption」(标题)改为「输入样本数据」、将「Font」(字型)改为「微体正黑体」,其余属性保持默认值。

将「(Name)」(名称)改为「销货收入控制测试」

五、移到窗体。会自动跳出「工具箱」辅助窗口,里面有许多控件,这里使用「A」,建立「日期」、「订单」、「客户」、「单价」、「核准」等标签,再使用「Ab」,在标签左边建立相对应的文字输入方块,最后是如图示的「命令按纽」。在窗体里面添加控件,和在Excel插作图形方块的手法是一样的,读者可自行尝试,于此不细述。

会自动跳出「工具箱」辅助窗口

六、设计完窗体,接着是编写表单控件的程序。延用微软系统一贯模式,在窗体按下鼠标右键,在跳出来的快捷窗口选取「检视程序代码」。

在跳出来的快捷窗口选取「检视程序代码」

七、输入如图所示的程序,关于此程序的说明,将在下一节作详细介绍。

输入如图所示的程序

八、建立一个的模块:「插入」、「模块」。于该模块编写一段程序:「插入」、「程序」。对象是前面步骤设计好的窗体,方法是在Excel显示窗体,以VBA语言陈述即为:「销货收入控制测试.Show」。

建立一个的模块:「插入」、「模块」。

九、在Excel执行「输入数据」宏。在窗口中输入完数据,按「确定」,VBA会自动将数据写入G10到K10单元格中,再输入数据,「确定」后会再将数据写入G11到K11。

在Excel执行「输入数据」宏

以往Excel数据,都是直接于单元格中输入,这篇文章所介绍的窗体,是用VBA设计一套接口,用户在接口上输入数据,VBA程序再决定怎么将这些数据写入Excel。这个范例是相对较简单的一小步,但却是在VBA学习上的一大步,因为熟悉了窗体建置,等于开了一扇门,跨过这道门坎,我们拥有设计操作界面的能力,这个界面可以自行规划按纽或字段(控件),透过这些控件将数据或命令传给Excel,这一节重点在窗体,下节继续介绍窗体的程序代码编写说明。