财务人员学习VBA好呢,还是学习python好?主要使用excel处理数据?

东风且无事


这一个还是要看具体的需求吧,其实VBA和python都是解释型的编程语言,可以说学习的难度都不是很大。

首先,如果只是简单的一些编程,且还是更多的希望基于excel做一些数据处理及分析,VBA不愧是一个很不错的选择,况且个人认为VBA有一个非常好用的功能——录制宏,很多工作表的操作都可以通过录制宏实现,省了很多查阅手册的时间。如果是编写一些不太复杂的业务管理系统的话,excel vba是完全可以搞定的,本人也发布了通过vba实现进销存管理系统的系列课,感兴趣的可以查看。

其次,再说说python语言。个人认为python语言比较大的优势是各种库非常丰富,通过调用各种库,可以用很简短的代码实现复杂的功能。同时,python里面的numpy、pandas等科学计算库,为我们做数据分析也提供了强大的支持,同时Matplotlib库提供了强大的绘图功能,能轻松绘制出各类美观的图。所以说,如果要进行科学计算分析的话,python也是一个不错的选择哟!




Excel函数公式技巧


首先作为一个Python和VBA都学了的分析师(非财务),我先分析一下题主的问题

  1. 题主日常工作常用的软件是Excel,而且熟悉程度足以胜任现有工作。
  2. 题主并不打算两个都学一下,至少目前没有这个打算。
  3. 题主对于这两者的学习欲望都不太强,“想深入了解,后期预估会用到”
  4. 题主感觉python代码好理解,说明对其有一定了解。


针对以上分析,我的推荐是VBA。

  1. 首先,题主听说VBA与Excel的契合度比较好,这一点是不容置疑的。
  2. VBA的学习曲线平缓,可以在Excel上直接敲代码。不需要纠结于什么IDE好,更不用纠结学哪个版本。
  3. VBA的目的性强,VBA最大的作用就是帮助我们更快更好的操作Excel,没有太多花哨的东西,不会让我们迷失在代码之中。可以让我们的目光一直聚焦在问题上。
  4. VBA的反馈更快,更精准。你只需要很简单的三两行代码,就能获得很大的满足感。这种满足感会给你带来很多正能量的影响,比如自信和不断学习的动力。


为什么不推荐Python

  1. 题主觉得Python的代码好理解,这并没有错。但是这只是一种错觉,Python入门容易的前提是与C,Java,PHP等比较。它终究还是比VBA要难。
  2. Python操作Excel的第三方库很多,xlrd, xlwt, openpyxl, pandas......;多本来时优点,但是对于初学者来说,反而成了弱点。 因为会不知道学那个好,就像你不知道该学Python3还是Python2,是该用jupiter notebook,还是该用jupiter notebook。
  3. Python的反馈慢,枯燥的学习可能会使人丧失斗志。都说学习Python应该从爬虫开始,就是因为爬虫的学习反馈最快,可是也因此很多人学着学着都忘记了学习的初衷。


无论是python还是VBA其实都只是工具,是我们用来解决问题的工具。枪比刀的威力大,刀能修指甲,枪却不行。无论什么工具,能解决我们的问题,能满足我们的工作需求都是好工具。

从题主的问题中,我个人认为无论时Python还是VBA,都足以满足需求。只少时近期的需求,这时候见效最快,学习成本低的才是好的选择。

综上所述,我认为i题主应该优先选择学VBA。其次,我想说的是这两者其实并不冲突,完全可都学会。当你学会一个,再回过头学另一个,你会发现其实很简单。

所有的计算机语言,都重在逻辑。当你学会一门语言,再去学其他语言,你会发现其实很容易。这就是人们常说的,最难的语言是你学的第一门语言,而不是Python或者PHP。


羽毛的重量


如果你没有语言基础,并且想学习一门语言来处理Excel表格,那么我的建议是不要学VBA,也不要学Python,C#和

VB.net

任学一门就可以了,然后再学习点SQL的基础,基本上数据处理你就能搞定了,数据处理归根结底还是需要数据库支持,而不规范的表格数据注定不会有很多。

不建议学VBA理由

可能很多人会反对这个说法,我只能说适合自己的就是好的吧,VBA作为一种脚本语言至少是20年前的东西了,20多年来没有什么更新,不论是在语法上还是在理念上都和现代的

VB.net

、C#差异很大,基本上只适用于在office平台上解决些问题,对操作office有更好的支持,仅此而异;如果你学习的是一门现代的语言,不论是C#还是

VB.net

,通过第三方库操作office只是它的一种用法而已,能干的事情会更多,处理起来速度更快,效率更高,有人会拿VBA支持事件来说事,但是要知道但凡需要界面事件等来操作的,编制成软件后录入才是更好的方法,而不是在一个表格中折腾。

软件连接数据库非常容易,不论是C/S还是B/S模式,给用户的只是客户端界面,数据永远在公司服务器的数据库中,安全性更好,VBA想实现很难吧。

如果你已经会

Vb.net或c#

,那么也只是可以看得懂部分的VBA代码,能写点简单的,如果只会VBA,那么面对

VB.net和 c# 编程,基本上需要重头进行学习,原来的那些VBA知识基本上没用。



不建议学Python的理由

Python这两年很热很火,但是基本上不适合于普通用户使用,特别是在windows平台上,先说开发环境有很多不说,还有不同的版本支持,需要调用的第三方库,中间的各种不兼容等,如果对linux没一点了解,还是不要碰它,Python实现图像界面有一定的难度,不如C#友好,写好代码后制作成可执行软件用户交互差。

python的强大之处在于它的第三方库非常非常的多,通常只需要很少的代码量就能解决问题,但它对普通用户不友好。


c#和

VB.net

这个也是微软的亲儿子,VS的IDE说第二没人敢说第一,上手容易,界面也相当友好,通过简单拖拽就能做出一个图形界面,再引用第三方库

Spire.Xls

、NPOI等处理起来Excel更是方便快捷,你完全可以把Excel中的数据读入到DataSet中,然后在DataGrid中显示出来进行处理,或者在后端处理,也可以直接读单元格来处理,最后处理好的结果你是想保存到数据库中还是想存回原有的表格中,或者是根据某些条件批量生成大量的Excel文件,都是相当容易的事情。


最终想学哪个决定在自己,但是在学习之前找个VBA的手册和C#的手册都浏览一下,就明白自己该学习哪个了。


办公小技巧


作为两种语言都会一些的财务人员,首先还是推荐先VBA,再考虑Python的学习


理由如下:

VBA作为office的原始自带语言,相对于其他语言操作Excel更加方便快捷


VBA是Visual Basic For Application 的简称,语法体验和VB一致,都是一个大家族,作为一门脚本语言,学习成本相对于其他语言较低。

Python作为最近几年的热门语言,其语法简洁明了,轮子也多,财务领域,可以用于数据的采集,ETL和后续分析。就数据方面Python操作起来方便很多,但是对于一些格式图表细节则不如VBA来的方便。


VBA学习成本相对Python低一些

对于新手,首先要学习的就是录制宏!

在Excel中录制宏,把我们的操作录制下来,反复使用,就好像录制视频一样,可以反复观看,其中80%的功能,我们可以通过录制宏来实现,剩下要学习的知识并不是很多

需要学习的大概有

1、工作薄对象,工作表对象、单元格对象、图表类对象(相对前两者使用少一些)等

2、循环和判断语句(FOR、DO、IF常用)等

3、其他重要:数组、FSO、正则、字典等


财务人员使用Excel频率高,跨文件操作必学VBA

只会函数、技巧、图表对于复杂一些的财务需求是远远不够的,

集团中,财务面对是经常是大量的文件汇总处理、数据抽取、分析、拆分

这种跨文件,大量的处理,是函数所无法完成的,如果会VBA则得心应手


未来可以推荐PBI系列

随着PBI和Power系列的出现,给Excel插上了翅膀,

Power Query :对数据的ETL简单高效,降低了学习成本,对于新手比较友好,

Power Pivot :号称超级透视表,透视表大家都知道非常的好用,对于简单的数据分析,非常方便,那么这个超级透视表,可见一斑

Power Map:数据可视化展示,比自带的常用图表展示更加方便,在Power BI中有了更多的图表插件可以学习


简单说两句,大家有兴趣可以留言,进一步交流沟通!


Excel办公实战


必须Vba,office自带,有点basic基础(貌似大学都要学,高中信息结业考试就是考basic)很容易上手,网上资源教程也多,office自带的帮助文档也很全面。vba很强大,连接sqlserver毫无压力;可调用系统API;使用ActiveX控件等等。VB6的功能它基本都能实现。当然和vb.net比肯定有差距了,比如原生多线程,继承等等。

执行效率只能说一般,前几天遇多一个20多万行的表,50多M(也是醉了……),启用了宏,打开就要半个多小时,当然也可能是他没优化好,还在研究中,拟采用Sqlserver。


壹壶老酒慰風塵


pb简单易学,能方便调用vba,操控数据库。


周海147109365


学EXCEL函数就行了,会计的函数相对简单,没必要用VBA,有点牛刀杀鸡的意思。


SixHero


对于这个问题,首先要看一下题主处理数据的量是多少数量级别的。然后主要输出的数据格式是什么样的?


如果只是10万以内的数据量,其实直接vba就好了,出来的还是excel格式的表格,方便交流传输。而且做出来的表格传递给同样拥有excel的人,就能马上使用这些开发好的功能了。不需要像python那样还要考虑封装接口什么的。

可是如果数据使用量太高,而输出大多也只是整理好的精简数据的话,python倒是个不错的选择。python入门也不算太难,但是麻烦就麻烦在后期的封装和交流。

2种语言的对比上来说,python的功能要更为强大一些,而且上手也简单许多。vba的话上手也不算困难,只是语法上来说没python那么贴近语义,很多功能\\模块\\命令都已经多年没更新过了,使用的时候感觉年代感满满的……


metoogo


VBA+SQL


URCBKEVIN110266326


先学vba吧,上手很快,先用起来再说,应该可以满足你的工作需求。以后有兴趣或需要处理复杂应用,再考虑C#或python等其他语言。


分享到:


相關文章: