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

东风且无事


刚好这两个我都接触过,推荐python

vba优势是office自带开发环境,安装省事,但是代码看着头疼,定义变量就把我卡在门外了。

python的话,网上很多安装环境的教程,使用anaconda自身集成好多包,我也是处理数据的工作,使用起来很舒服。原来各种汇总筛选统计,搞得头大。重复工作没意义。现在都交给脚本处理。省下时间继续学习python,偶尔看看自己写的代码,权当复习。原来每天4、5个小时的工作,现在嘛,按秒计时吧。

python最大的优势就是语言很容易理解,语言逻辑清晰。按照自己的需求编写需要的程序,工作不要太省力[机智][机智]。

python是弱类型语言,简单说就是定义的变量可以赋值各种类型的值。vba恐怕不行。

如果你的电脑配置不是特别差,还是使用python吧。听说是比什么C\\C++需要运行慢,那也是对比。如果只是自己处理数据,python首选。


咽气儿


首先作为一个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


如果你没有语言基础,并且想学习一门语言来处理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都是解释型的编程语言,可以说学习的难度都不是很大。

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

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




Excel函数公式技巧


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

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


壹壶老酒慰風塵


VBA 和python都可以学,但是我觉得VBA更简单,虽然python可以调用,VBA可以录宏,你不会写,录完改改就好了。而且,遇到我们公司,IT啥都不让装的,跟同事之间分享excel小工具,很方便。Python就傻了,不方便共享。还是根据自己实际开吧。


Iangu


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


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

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

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


metoogo


听老程序员一句话吧,把Excel自带的VBA学习好了,处理些日常工作就很高大上了,效率一点也不低,并且编程门槛低,维护调试都很方便。不要道听途说再另辟蹊径,再投入学习成本了,毕竟最终时为了达到目的。


鸢都老汉


office套装一开始就是用vba作为脚本的,能够支持python的office是最新推出的,如果你使用的office版本不是这种,就学了python也是用不上。换言之,考慮與舊版本office的兼容性,你最好沿用vba,如果业务上組織的系統將來會全面更新office,就预备python。微軟的office套装軟件,不會放棄vba,只是新增支持python而已。


TonyDeng


vba。学习是为了学以致用,现在大多数企业的财务只要学好Excel及vba,就完全搞定了,没有必要学习其他类语言。vba学习相对容易和灵活,若出于兴趣或有更高的要求,那另当别论。


分享到:


相關文章: