1.4 Excel VBA的发展前景
VBA从1993年就在Excel 5.0中开始使用,至今已有20年的历史,然而国内起步较晚,最近七八年才将VBA大量应用到工作中,并开始出现VBA专业的从业人员。
1.4.1 简化工作
Excel VBA存在的价值在于简化制表工作,提升制表效率,同时也能确保计算的准确性。
以1.3节中的自定义函数为例,它仅需三句代码,一分钟内编完程序,然后花3秒将公式写入到单元格中,即可完成原本需要3~5小时才能完成的工作,这无疑是VBA最大的价值体现。
此外,笔者还有一次亲身经历足以说明VBA的实用价值。六年前笔者曾做过半年报表汇总工作,每天将前一天的品检部、生产部和生管部报表整理到一个工作簿中,然后分组统计,并生成图表和透视表发送给经理。以前的同事每天让三个部门的文员将报表发到邮箱中,然后打开三份报表并整理数据、生成总表,每天需要0.5~1小时。当笔者接手该工作后,采用以下方式处理。
1 在服务器的共享磁盘中创建一个名为“明细”的文件夹,让三个部门的同事将每天完工的明细报表都按今天的日期命名并保存到该文件夹中。
2 在本地磁盘创建一个文件夹“模板”,其中存放一个用于汇总的模板工作簿,工作簿中采用VBA代码自动打开远程共享的明细文件,并按设定的流程全自动汇总报表,当“模板”文件夹中生成汇总表后将汇总结果自动复制一份到服务器中名为“总表”的共享文件夹中,文件以当天的日期命名。图1.17即为文件汇总流程与文件夹之间的关系示意图。
图1.17 文件夹关系示意图
3 通知经理从服务器共享文件夹“汇总表”中提取今日汇总的报表。
由于汇总表中的VBA代码设置为打开报表时自动执行,它会到指定的文件夹中检查是否存在需要汇总的三份报表,以日期文件名作为判断标准,如果不存在则产生提示框,然后自动关闭文件;如果文件存在自动汇总报表数据,完成后在本机保存一份汇总表,同时另存一份到共享文件夹“总表”中,一切工作全自动进行,需要执行的只有一步——双击打开本机中的总表模板。换言之,以往近1小时的工作现在只需要双击工作簿就完成了。
后来的某天,笔者睡过了头,第二天早上9点尚未起床,结果经理9点整开会时需要报表。当接通经理的电话后,在电话中告知经理汇总表已经完成,自己有事在外,并请经理打开笔者的计算机,从D盘中打开汇总表模板查看即可。其实当经理打开该模板时,代码才开始运行,数秒后自动汇总完毕,并生成一个汇总表。
换言之,某些工作借助VBA可以实现无人值守,让代码全自动执行,从而解放双手。
1.4.2 开拓专业
VBA在中国起步较晚,目前以VBA为职业者尚且不多,专业人员极少,并且多集中在VBA类书籍作者、VBA培训讲师,以及部分企业内部数据分析师(VBA配合数据库类知识点应用)。更多的是以VBA技术为兼职者,例如在淘宝开店为他人有偿制表、开发程序等。
不过,目前VBA从业者比较少,但开拓VBA专业的前景并不小,因为新兴行业最有发展前途,随时可能发展出新的途径,开辟新的天地。这一切都建立在扎实的基本功上,只要努力学习VBA的基础理论,并多加练习,掌握处理问题的一些基础思路,技术总有转化成收益的希望,况且有录制宏的帮助,学习VBA必将得心应手。