VBA已死 ?我来谈谈要不要学VBA的问题
VBA是一种编程语言,得益于MS Office极高的普及程度,全世界有超级多的人在使用它,用来实现各种办公自动化的动作。同时对于非计算机相关专业的人来说,VBA是一种最简单的程序语言了。
在线上及线下的培训课中,经常都会有人问我关于VBA的一些问题:
1、现在这个时候还值得去学习VBA吗?
2、VBA什么时候会停止服务?
3、有什么其他工具能替代VBA吗?……
以上这些问题,其实是问得非常合理的,尤其是微软自己最近这10年也没怎么更新VBA了……
本篇文章将会分几部分给大家详细讲下:
1、为什么现在还要学VBA?
2、为什么微软“讨厌”VBA?
3、VBA(什么时候)会死吗?
为什么还要学VBA?
简单来说,VBA是一种你花较短时间学习,就能开始产生效果的知识。因为大多数人都已经有了一定的Excel基础知识,而这些会让你在学习VBA的过程中更容易,更有优势的是录制宏功能直接帮你把手工操作转成VBA代码!
基于Excel VBA入门者来说,你可以理解VBA就是一段代码,它能帮你进行练续多个步骤的操作,而你只需要按个按钮就能运行它。(想入门学习VBA的朋友,可以在本号后台回复“VBA”获取免费的课程)
当你水平好一点,用VBA去导入外部数据(来源于文件或网站),一键整理数据,制作动态图表,一键设置报表格式等等,这都是可以实现的!对于做数据分析的朋友来说,用VBA在Excel辅助设计数据产品,更是一个高级&高效的应用方向!例如黄成明老师近期推出的《零售业日销售多店管理模板》,里面就用了很多VBA代码来实现:
戳上方图片,可以查看模板的更多详情
该模板里面有很多交互细节、业务化细节,都是只能借助VBA来实现的。
所以即使很多的程序员高手看不起VBA,那你也只能呵呵了,他们是站在语言本身的高级强大,应用等方面去看问题。但我们只需要考虑:
只要微软的Office还有VBA的话,就有VBA发挥的舞台环境,就能帮我们提升办公的效率,就能提升数据产品的业务化、人性化体验的重要技能!
为什么微软“讨厌”VBA
其实微软对VBA也谈不上“讨厌”,只是Excel与VBA已是老夫老妻了,生活归于平淡而已。在微软官方的社区/活动中,这些年来很少有涉及VBA的相关活动,包括微软对于用户给出的很多VBA改良建议似乎也都被忽略了。
另外从2010、2013、2016、2019、365的版本更新情况来看,微软对于VBA的更新策略更偏向于维护对象模型,即有什么新图表、新工作表函数等就添加进去而已,即是一个最低维护更新的策略。所以微软过去10年来的这种对VBA的更新态度,确实令到很多人都觉得VBA要被抛弃了~
甚至早些年传出了用JavaScript、Python来代替VBA,还有些用户发起来一个Python方案的投票,虽然得出官方回复,但投票支持者也是少得可怜……
从上面的截图,我想可以看到2个事情,第1是微软有在考虑这个事情;第2是这个事情进展非常缓慢。所以大家也能看到,直到目前为止,最新的Office 365版本仍然是支持使用VBA语言。
VBA(什么时候)会死吗?
大家都很关心这个问题~我认为它永远不会完全消失!如果一定要我为它加一个期限的话,我会说是至少10年它都还会在!
为什么?因为:
①企业方面。太多的公司在依赖VBA实现办公自动化流程;尤其是华尔街的那些金融机构,甚至世界500强公司,很多都有在使用VBA去进行自动化的操作,投入了大量的成本/时间;当然还有很多的业务逻辑/分析逻辑也是关键!微软不敢轻易去完全摆脱VBA!
② 用户方面。前文就有讲过,其实学习VBA的人大多都不是专门的程序员,而是财务、人力、营销或项目管理的专业人员,大家学习VBA的出发点是为了让工作更高效,更轻松!而这些人群并不会习惯一直学习新的编程语言,因为这是需要占用很多业余时间学习!这也是微软需要考虑到的!
总 结
如果你没时间细看的以上长长的文章,以下总结一下我的看法:
1、VBA在未来10年仍然会被广泛使用,作为实现办公自动化的重要技能
2、VBA永远不会完全消失,因为太多的企业、用户都投资了大量的时间和成本
3、微软在考虑替换VBA,但进度还是很缓慢的
4、想学习VBA的朋友,请不要犹豫,这肯定是值得你觉得的知识!只要你的主要办公软件是MS Office
如果你还没有学习VBA的动力,可能是对VBA的强大应用不太了解,不妨可以看看黄老师这个支持多店管理的|强大的Excel数据分析模板(戳左侧蓝字看详情),其中就采用了很多的VBA代码!
下图的VBA技术应用:一个动态的四象限图,可以轻松切换X、Y轴的指标,综合分析各店铺的分布情况;如果觉得店铺名称标签互相遮盖,还可以选择用店铺代码来显示,非常人性化!
戳上方图片,可以查看动态演示视频
下图的VBA技术应用:一个动态的雷达图,可以开启检阅模式,让你对各店铺的各项指标排名进行巡航检阅!业务化的时间分析维度切换,应用了「过去7天」、「过去28天」、「本月表现」等科学且业务化的时间维度设置,非常客观地对比数据!
戳上方图片,可以查看动态检阅的演示视频
如果你对这个模板的更多详情感兴趣,也可以点左下角的“阅读原文”查看分析模板更多的VBA应用效果~